jquery on(live function)

时间:2013-01-04 11:17:56

标签: jquery

为什么此代码不起作用?

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

但这很好用......

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

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:0)

据推测,您的代码在页面加载后动态插入li元素。要使事件委托工作,您需要绑定到DOM为ready时存在的最近元素(父,祖父母等)。可能是ul

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