附加的项目不响应事件处理程序

时间:2014-06-30 15:17:14

标签: javascript jquery html css

我正在使用jquery将一些列表项添加到列表中。每个列表项都有两个类。一个控制CSS属性,另一个控制列表项上的单击。列表项看起来像这样:

  

< li class =" il l3" >技嘉战争< / li>

这里' il'控件CSS和l3控制点击功能。

我的问题是,当我在旅途中添加列表项时,为所有列表项定义的常规点击功能对新的列表项不起作用。任何建议?

2 个答案:

答案 0 :(得分:6)

而不是使用:

$('.l3').click(function(){});

如果可以,请使用(比document更具体:

$(document).on('click', '.l3', function(){});

后者将创建一个委托事件处理程序,它将处理将来创建的任何元素以及已存在的元素的事件。

答案 1 :(得分:1)

选择器$(".l3")将事件处理程序添加到与其匹配的DOM中的现有元素。如果要添加新项目,可以在文档中指定事件处理程序,如Justin's answer中所述,或者,如果需要更精细的控件,则可以动态地将事件处理程序添加到新项目中: / p>

$("<li>", { class: "l3" }).appendTo(someList).click(function () { ... });