javascript - 如果 js 添加链接,则 event.preventDefault() 不起作用

标签 javascript jquery

我对 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/

相关文章:

javascript - 如果没有附件,表格将无法提交

c# - 选择文件后如何自动上传文件

jquery - ExpressJS + jsdom — 范围问题

javascript - 在javascript中访问路径(concrete5)

javascript - 如何将参数传递给 Rails Controller 方法然后使用 JQuery/AJAX 返回值?

javascript - 类型错误 : Cannot read property "length" from null

javascript - 不要使用publishReplay缓存错误

javascript - 如果切换了侧边栏,则停止滚动/多余空间

jquery - 使用放大的弹出窗口打开页面上的所有图像

javascript - 分离 javascript 函数的最佳方法是什么?