动态插入链接后如下:
$('#p_id').html('<a class="edit">Link</a>');
触发以下点击事件:
$('.edit').click(function(){
alert('I only want this event to be triggered on user interaction, NOT on creation.');
});
只有在用户实际点击链接时触发此事件的解决方案是什么,而不是在动态创建时触发?
答案 0 :(得分:0)
对于动态创建的元素,您可以使用on
委托事件
$('#p_id').on('click','.edit',function(){
alert('I only want this event to be triggered on user interaction, NOT on creation.');
});
解决方案仅在用户实际点击链接时触发此事件,而不是在动态创建时触发
只有当有人点击选择器元素时才会触发click事件..无论是否动态创建都无关紧要。除非您使用trigger()
答案 1 :(得分:0)
尝试:
$('#p_id').on('click', '.edit', function(){
alert('I only want this event to be triggered on user interaction, NOT on creation.');
});
此表示法允许修改父母的内容。
答案 2 :(得分:0)
.click(function() {})
只是
的快捷方式.on('click', function() {})
所以你的代码应该可行。 可能是你正在打电话
$('.edit').click() // <-- without arguments!
某处?这种表示法会触发点击事件。