美文网首页前端
JQuery--新增动态元素点击事件失效

JQuery--新增动态元素点击事件失效

作者: aix91 | 来源:发表于2018-12-23 15:11 被阅读0次

问题:在一个点击事件里,动态添加的元素,注册的点击事件无效。

看下面的代码:

    $(function () {
        $(".test").click(function () {
            $("<div>动态添加元素点击失效</div>").addClass("test2").appendTo($(this));
        })
        $(".test2").click(function () {
            console.log("hi,点击事件2");
        });
    });

在一个点击事件里,动态地添加新的元素,然后在点击事件外注册该新元素的事件,就是发生事件没有注册上的bug。

解决办法:

  1. 动态创建的同时,添加点击事件
        $(".test").click(function () {
            $("<div>动态添加元素点击失效</div>")
                .addClass("test2")
                .click(function () {
                    console.log("hi,点击事件1");
                })
                .appendTo($(this));
        })
  1. 采用on("click",[className],function)的方式
        $(".test").click(function () {
            $("<div>动态添加元素点击失效</div>")
                .addClass("test2")
                .appendTo($(this));
        })
        $(".test").on("click", ".test2", function () {
            console.log("hi,点击事件2");

        });

相关文章

  • JQuery--新增动态元素点击事件失效

    问题:在一个点击事件里,动态添加的元素,注册的点击事件无效。 看下面的代码: 在一个点击事件里,动态地添加新的元素...

  • ios点击失效

    h5在ios中点击失效 问题1:直接给元素绑定 click 事件失效 解决:可以改成绑定 touchend 事件 ...

  • jquery - 绑定事件on和bind的区别

    1. on可以对动态创建的元素进行绑定,而bind不行 如:对.btn进行绑定点击事件,点击.btn后会新增另一个...

  • jQuery on()方法绑定动态元素的点击事件失效

    在项目中遇到的问题,live()方法可以绑定动态元素,而on()绑定的动态元素总是失效。上网查找了很多资料,之后才...

  • jQuery动态append添加元素点击事件失效

    使用append方法添加到DOM中的标签,是不能触发点击事件的。 失效原因:append中的节点是在整个文档加载完...

  • mui点击事件失效

    点击ul中的li元素,点击失效,有时只有点击li元素的左侧才生效。 解决办法:mui有自带的点击事件绑定 本来是需...

  • 事件委托(事件代理)

    事件委托原理:事件冒泡机制 优点: 1.大量减少内存占用,减少事件注册。 2.新增元素实现动态绑定事件 实现方式:...

  • jq点击事件失效/获取不到元素

    dom树加载完执行函数 jq中因为请求数据是异步的,所以会常常获取不到数据,事件也获取不到的问题,通过delega...

  • 解决jQuery ajax动态新增节点无法触发点击事件的问题

    在写ajax加载数据的时候发现,后面添加进来的demo节点元素,失去了之前的点击事件。为什么点击事件失效,我们该怎...

  • STL迭代器失效

    迭代器在移除元素时迭代器可能失效。vector如果开辟新的内存时迭代器可能失效。新增元素时尾迭代器可能失效。......

网友评论

    本文标题:JQuery--新增动态元素点击事件失效

    本文链接:https://www.haomeiwen.com/subject/yuugkqtx.html