1

与许多用户一样,我似乎无法将动作绑定/触发动态创建的元素。

使用我现有的元素,该函数正在运行,使用动态元素,当我的链接被点击时,url 被加载。(url不重要,在写其他动作之前是为了我的测试)

我错过了什么?我正在使用 jQuery 1.7.1

谢谢!!

jQuery('.image-widget-data').append('<a href="http://www.google.com">Select Files</a>');

jQuery("body").on("click", ".image-widget-data a", function(){ 
   event.preventDefault();             
   alert("Goodbye!"); 
});
4

3 回答 3

1

您可能缺少event单击处理程序函数中的声明。

jQuery("body").on("click", ".image-widget-data a", function(event){ 
                                                            ^^
于 2012-05-27T10:54:21.690 回答
1
jQuery(".image-widget-data").on("click", "a", function( event ){ 
   event.preventDefault();             
   alert("Goodbye!"); 
});
于 2012-05-27T10:56:44.257 回答
0

您忘记将事件作为参数传递

jQuery("body").on("click", ".image-widget-data a", function(event){ 
   event.preventDefault();             
   alert("Goodbye!"); 
});

http://jsfiddle.net/fbaWW/

于 2012-05-27T10:55:12.280 回答