这件事让我疯了。
所以我通过AJAX加载了一些简单的HTML,一旦它加载到DOM上我就这样做了。
$('#wrap a.link').click(function(e) {
e.preventDefault();
alert("asdasdad");
});
它不会阻止链接导航到href属性中的url。
我的语法似乎正确,我确保元素在DOM中,并且函数找到a.link
元素。
$("#wrap a.link").each(function(key, value) {
console.log("found a link"); // this shows up in the console
});
我还尝试过使用off()
和stopImmediatePropagation()
以防万一其他事件可能会干扰,但没有。我也尝试使用相同的结果绑定each()
循环内的事件。
可能导致此行为的原因是什么?
答案 0 :(得分:6)
使用事件委托:
$(document).on('click', '#wrap a.link', function(e) {
e.preventDefault();
alert("asdasdad");
});
<强>注意:强> 保持您的ID唯一。
答案 1 :(得分:6)
将事件绑定到正文以获取动态元素:
$('body').on('click','#wrap a.link',function(e) {
e.preventDefault()
});