我需要捕获表中带有ajax的元素的click事件。
获取动态内容后,我可以看到警报结果,其元素总数为:alert($(“。link”)。length);
我选择的所有元素都有“链接”类,我需要知道点击了哪些元素。
我试过了 - > $(“。link”)。click(function()...但我发现只捕获已经存在的元素。所有被ajax收取的元素都会被忽略。
答案 0 :(得分:1)
可以使用一些代码100%确定,但这适用于小提琴。
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);
});
更新:改为使用委托,错过了ajax部分。
答案 1 :(得分:0)
看看jQuery提供的on
方法;或live
如果您使用的是旧版本的jQuery。参考here。
绑定步骤如下所示:
$('.link').on('click', function() {
// your code here
});
这会将现有元素以及AJAX提供的新元素绑定到您指定的click事件。
希望这有帮助。
答案 2 :(得分:0)
如果您使用的是jQuery 1.7 +,请使用on
方法。
阅读这篇优秀的文章 - http://www.elijahmanor.com/2012/02/differences-between-jquery-bind-vs-live.html