1

我有表格元素

<table class="ActionMenu" id="tblActionMenu" cellpadding="3" cellspacing="3" >

约翰

 $('.ActionMenu tr').click(function (e) {
                alert("abcd");
     });

这很好用。

现在使用 javascript,我添加了具有相同类 =“ActionMenu”的表,但单击 tr 时它不起作用。

如何获取动态创建表的 Click 事件消息

4

3 回答 3

3

可能,当您定义函数时,较新的表还不存在。因此,假设您使用的是最新的 jQuery 版本(1.7.x),请使用事件委托并在公共父级(例如body元素)上捕获事件

 $('body').on("click", ".ActionMenu tr", function (e) {
      alert("abcd");
 });
于 2012-05-07T12:54:18.600 回答
0

您必须使用“实时”功能……如果您使用“委托”功能,效果会更好。

它是这样工作的:

$('.someClass').live('click',function(){}); //adds 'click evt' to every future .someClass inside the DOM

$('#someID').delegate('.someClass','click',function(){}); //adds 'click evt' to every future .someClass inside #someID

搜索 jQuery api 以获取更多信息,或者如果您需要更多帮助,请告诉我。祝你好运!

于 2012-05-07T12:57:06.477 回答
0

在http://api.jquery.com/on/上查看委托事件的示例

$('#tblActionMenu').on("click", "tr", function(){
   //do something
});
于 2012-05-07T13:10:43.833 回答