0

为什么这段代码不起作用?

$("div.class ul li").on("click","a",function(){
        alert("A");
});

但这工作正常...

$("body").on("click","div.class ul li a",function(){
    alert("A");
});
4

2 回答 2

2

我想你div.class ul li是动态创建的。您需要on在某些现有元素(例如最近的父元素)上调用函数。这就是为什么它在被调用时起作用的原因body

于 2013-01-04T11:20:38.110 回答
0

大概您的代码li在页面加载后动态插入元素。为了使事件委托起作用,您需要绑定到 DOM 为ready. ul也许?

$("div.class ul").on("click","li a",function(){
  alert("A");
});
于 2013-01-04T11:26:18.783 回答