将事件绑定到AJAX添加了元素

时间:2015-06-24 17:21:20

标签: javascript jquery ajax

我知道之前已经问过这个问题,但遗憾的是那些似乎没有解决我的问题。 我有一个<table>,我必须为每个添加dblclick事件,但我也使用AJAX向页面添加行(页面加载后)。

我已经开始工作,但发布了2个代码,一个有效,另一个没有。

a)此代码适用于我:

$(document).on("dblclick","td",function(){ 
   //THIS WORKS FOR ELEMNTS ADDED AFTER PAGE LOAD
});

b)我之前尝试过的这段代码不起作用:

$("td").on("dblclick","td",function(){ 
   //THIS DIDN'T FOR ELEMNTS ADDED AFTER PAGE LOAD

});

甚至尝试在新添加的<td>中添加一个类并在第二个参数中传递它,但它似乎没有用。

有人请解释一下,第二种情况是什么问题。?

1 个答案:

答案 0 :(得分:2)

  

有人请解释一下,第二种情况是什么问题。?

您说“甚至尝试向新添加的<td>添加一个类,这意味着您正在创建新的<td>元素。

事件处理程序必须绑定到动态元素的现有“静态”祖先

您的处理程序$("td").on("dblclick","td",function() {})没有多大意义。它会听取其他表格单元格中的表格单元格的点击。

查看jQuery教程Understanding Event Delegation以了解有关事件委派的更多信息。