我需要在我加载DOM后动态创建的列表项中添加一个click事件. 我正在使用 ; $("#ListDiv li").live("click",function(event){ do something...... }); 但是当元素加载到页面上并且我点击它时我什么都没得到
我正在使用 ;
$("#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 }); });