我需要在表格中捕获带有 ajax 的元素的点击事件。
获取动态内容后,我可以看到带有元素总数的警报结果: alert($(".link").length);
我选择的所有元素都有“链接”类,我需要知道点击了哪些元素。
我试过 -> $(".link").click(function()... 但我发现只捕获了已经存在的元素。所有由 ajax 收费的元素都被忽略了。
我需要在表格中捕获带有 ajax 的元素的点击事件。
获取动态内容后,我可以看到带有元素总数的警报结果: alert($(".link").length);
我选择的所有元素都有“链接”类,我需要知道点击了哪些元素。
我试过 -> $(".link").click(function()... 但我发现只捕获了已经存在的元素。所有由 ajax 收费的元素都被忽略了。
Could use some code to be 100% sure, but this works and with fiddle.
HTML:
<table>
<tr class="list"><td>One</td></tr>
<tr class="list"><td>Two</td></tr>
<tr class="list"><td>Three</td></tr>
</table>
JS:
$("table").delegate('.list', 'click', function() {
var whichOne = $(this).text();
alert("Handler for .click() called for " + whichOne);
});
UPDATE: Use delegate instead, missed the ajax part.
看看on
jQuery提供的方法;或者live
如果您使用的是旧版本的 jQuery。参考这里。
绑定步骤如下所示:
$('.link').on('click', function() {
// your code here
});
这会将现有元素以及 AJAX 提供的新元素绑定到您指定的单击事件。
希望这可以帮助。
on
如果您使用的是 jQuery 1.7+,请使用该方法。
阅读这篇出色的文章 - http://www.elijahmanor.com/2012/02/differences-between-jquery-bind-vs-live.html