我目前有一个锚标记,当单击时,会将另一个锚标记附加到DOM.这一切都是通过jQuery完成的.我知道要添加的锚标签的"id"属性是什么.但是,当我尝试以下代码时,它无法处理新添加的锚标记的click事件:
$("#id").click(function(){alert("test");});
您遇到的问题是,当您拥有代码时$('#Element').click(function(){...});
,它只会在首先运行该代码时出现的元素上运行代码,如果您使用的是最新版本的jQuery,则应使用此代码使它工作:
//This makes sure that all the elements are ready to receive jQuery bindings $(document).ready(function(){ //The .on function will attach the event to all current // elements that match the selector and all future elements // that will match the selector $(document).on('[EVENT]', '[SELECTOR]', function(){ //Do Stuff }); });
此代码以及附加到元素的任何其他jQuery代码(使用.on()函数或不使用)都应该使用document.ready如上所述.
这将为现在的任何元素运行事件(在您的情况下,[EVENT]
将是click
),并在将来匹配[SELECTOR]
(在您的情况下#id
)
JSFiddle示例:http://jsfiddle.net/DhWmP/
来源:http://api.jquery.com/on/&在需要功能的页面上插入元素的经验.