jQuery on() 方法不适用于附加元素

标签 jquery

我知道我应该使用 on() 方法来触发附加元素,而不是使用 click(),所以:

$('#change_profile_img').on('click', function(){
alert(1);           
});

所以上面的代码在任何元素上都可以正常工作,除非附加元素,例如,我要附加:

$('.companylogo:first').append('<a id="change_profile_img" class="ic_change">CHANGE IMAGE</a>');    

附加后,它不起作用,但页面刷新后它工作得很好。 我应该提到的另一件事是,我正在从模式页面进行附加,它附加了按钮和所有内容,但我无法再触发它......

我将不胜感激任何形式的帮助。 谢谢

最佳答案

这应该适合你:

$(".companylogo").on("click", "#change_profile_img", function() {
  alert(1);
});

关于jQuery on() 方法不适用于附加元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13098688/

相关文章:

javascript - 使用 jQuery 创建服务器端包括

javascript - 回调中添加点击事件未绑定(bind)

具有基于 Ajax 的内容的 jQuery UI 选项卡 : how to avoid first panel loaded by AJAX call

javascript - 如何让一些 JavaScript/jQuery 按顺序运行

javascript - AngularJS/解析 $http --data-urlencode

javascript - 在 Javascript/Coffeescript/jQuery 中是否有与 Ruby 的发送等效的东西?

javascript - 如何在另一个 Fancybox 关闭后打开一个 Fancybox?

javascript - 如何检测 Facebook 应用程序中何时加载 DOM 和框架?

jquery-plugins - jQuery clone() 不复制 <select> DOM 属性?

jquery - 背景图像如何适合单元格表(允许扭曲)