我对 event.preventDefault() 有疑问,因为事件没有停止。
我有两个不同的功能。第一个函数是 xhrCall 并显示所有帖子并将结果附加到表中。在这个函数中,我创建了一个带有 class="del"和 href="#"的链接。
$.each(data, function(i, data){
$('#listMsg').append('<tr><td>' + data.id + '</td><td>' + data.msg + '</td><td><a class="del" rel="'+ data.id + '" href="#"> delete</a></td></tr>');
});
我的下一个功能是处理删除。
$(". del").click(function(e) {
e.preventDefault();
var id = $(this).attr('rel')
alert('delete + ' + id);
});
如果我将一个链接直接复制到具有相同类的 index.php 文件中,代码就可以工作了!
不幸的是,我不知道我错过了什么或如何与 js 插入的链接对话。
非常感谢您的帮助!
最佳答案
你是说你是用ajax添加链接吗?如果是这样,您需要这样做:
$("#listMsg").on("click", ".del", function(e) {
e.preventDefault();
var id = $(this).attr('rel')
alert('delete + ' + id);
});
如果 Jquery 是 1.7 或更旧的版本,请这样做
$("#listMsg").delegate( ".del", "click", function(e) {
e.preventDefault();
var id = $(this).attr('rel')
alert('delete + ' + id);
});
关于javascript - 如果 js 添加链接,则 event.preventDefault() 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42895288/