无法使用jQuery动态地将事件处理程序添加到按钮元素

时间:2012-01-03 06:02:15

标签: jquery

在这个小提琴中,我无法得到Dynamic Event Handler

为动态生成的按钮触发的onclick事件。

2 个答案:

答案 0 :(得分:4)

即使您向按钮添加“onclick”,它也不会被浏览器解析和处理,并且永远不会创建事件处理程序。

您最好的选择是从按钮本身创建一个事件处理程序,删除“onclick”行,并在文档就绪块中执行此操作:

$("#d1").on('click', 'input:button', function() { 
    alert( $("#dataSources").val() );
});

这将在事件处理程序将其自身附加到#d1时起作用,并将事件本身委托给单击的按钮。如果您创建或销毁按钮,则不会影响处理程序。

答案 1 :(得分:0)

除了在append方法中定义click事件之外,您可以使用on中的document.ready方法绑定事件,假设您正在使用jsFiddle中提供的jQuery 1.7.1链接。

E.g:

$("#deleteDataSource").on("click", function(){
    //do your work here
});

注意:我认为你也应该在你的问题上发布你的代码。