当前位置 : 主页 > 网页制作 > JQuery >

jquery将click事件添加到动态创建的元素中

来源:互联网 收集:自由互联 发布时间:2021-06-15
我需要在我加载DOM后动态创建的列表项中添加一个click事件. 我正在使用 ; $("#ListDiv li").live("click",function(event){ do something...... }); 但是当元素加载到页面上并且我点击它时我什么都没得到
我需要在我加载DOM后动态创建的列表项中添加一个click事件.

我正在使用 ;

$("#ListDiv li").live("click",function(event){
  do something......
 });

但是当元素加载到页面上并且我点击它时我什么都没得到.

这适用于Firefox,但不适用于IE8.我也试过jquery livequery和deleagte,但都没有用.我尝试使用IE8开发人员工具进行调试,但是从未达到该方法

使用 .delegate.live并确保在 DOM is ready绑定一次:

$(document).ready(function () {
    $("#ListDiv").delegate("li", "click", function (event) {
        // do something
    });
});

编辑:

上述解决方案虽然仍然完全有效,但现在已经遗留/弃用. jQuery从此引入了.on() method

As of jQuery 1.7, the .on() method provides all functionality required
for attaching event handlers.

该实现与上面发布的.delegate解决方案非常相似,但请注意参数的顺序已更改:

$(document).ready(function () {
    $("#ListDiv").on("click", "li", function (event) {
        // do something
    });
});
网友评论