动态单击事件由ajax和jquery收取的所选元素

时间:2013-02-21 21:41:20

标签: jquery ajax events css-selectors

我需要捕获表中带有ajax的元素的click事件。

获取动态内容后,我可以看到警报结果,其元素总数为:alert($(“。link”)。length);

我选择的所有元素都有“链接”类,我需要知道点击了哪些元素。

我试过了 - > $(“。link”)。click(function()...但我发现只捕获已经存在的元素。所有被ajax收取的元素都会被忽略。

3 个答案:

答案 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);
});

http://jsfiddle.net/ADg2P/2/

更新:改为使用委托,错过了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