jQuery,click事件不会触发

时间:2014-04-08 05:33:59

标签: jquery ajax click

我的问题是(因为我解决了它,但我不知道它为什么会起作用): 我的'span'内有两个DOM个标记,但CSS类相同。 通过AJAX请求添加了一个跨度。 我试图使用以下方法触发点击事件:

$('.css class').on('click', function ...

但是第二次添加的'span'标记(AJAX)没有产生点击事件。 当我将上面的行更改为:

jQuery('body').on('click', '.css class', function(e){...
一切都开始发挥作用了。 我不知道为什么。

1 个答案:

答案 0 :(得分:1)

使用事件委托:

$('body').on('click','.css-class',function(){
 // your code goes here.
});

请记住,课堂上不要有空格。否则,您将定位<class>

下的.css

上()

  

事件处理程序仅绑定到当前选定的元素;他们   在您的代码调用.on()时页面上必须存在。   要确保元素存在且可以选择,请执行事件   绑定在文档就绪处理程序中的元素   页面上的HTML标记。如果将新HTML注入页面,   选择元素并在新HTML之后附加事件处理程序   放入页面。或者,使用委派事件来附加事件   处理程序,如下所述。

     

委派事件的优势在于它们可以处理来自的事件   稍后添加到文档中的后代元素。通过   选择一个保证在当时存在的元素   委托事件处理程序附加,您可以使用委托事件   避免频繁附加和删除事件处理程序....

Read more