javascript - 附加到 DOM 后 anchor 链接上没有点击事件

标签 javascript jquery

我在将链接附加到 DOM 时遇到问题。添加链接后,元素上似乎没有触发任何点击事件。

我已经把这个 jsFiddle 放在一起来演示:https://jsfiddle.net/7w1djh9s/

代码:

$(function() {
    $(".add-question").click(function() {
        var html = "<li><a href=\"#\">Question " + ($("#questions li").length + 1) + "</a></li>"
        $("#questions").append(html);
    });

    $("#questions a").click(function() {
        alert(1);
    });
});

如果您单击“问题 1”链接,甚至会触发 onclick。如果您添加一个新问题,然后单击新链接,则不会触发任何内容。

这是为什么?

最佳答案

使用(如果 #questions 是动态附加的,但显然不是)

$(document).on('click', '{target selector}', function(e) {
   e.preventDefault() // depending on tag
   // code
});

或者(在你的情况下)

$('#questions').on('click', 'a', function(e) {
   e.preventDefault() // depending on tag
   // code
});

这将跟踪文档 上的click 事件,并在event 中找到选择器时触发您的代码。 .

关于javascript - 附加到 DOM 后 anchor 链接上没有点击事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33456830/

相关文章:

javascript - 如何检测智能手机屏幕并显示网页

javascript - JQuery .css() 返回 100% 作为 100px

Javascript/jQuery - 根据 <option> 的变量索引创建数组

javascript - 为什么使用 while .join() 会给我错误,而不使用它会起作用

javascript - Node.js 在 .then 链中重复数据库请求

javascript - 使用 CSS3 Transform Scale 和 jQuery 制作动画脉冲效果

javascript - 如何在 JS 中模拟 $(this)[0].files?

javascript - 模态基在 [href^ =“#id” ]

javascript - html - 如何在加载时填充输入文本?

jquery - 如何每2秒显示不同的div?