jQuery preventDefualt无法在AJAX元素动态创建的情况下工作

时间:2019-07-09 14:56:50

标签: jquery preventdefault

由于某些原因,event.preventDefault();对于以下代码不起作用:

$(document).on('click', '.product-crosssells a', function (event) {
    event.preventDefault();

    // multiple chunks of code

    return false;
});

奇怪的是运行了多个代码块。因此,文档单击肯定会被拾取。但是由于某种原因,preventDefault无法启动。

.after()之后使用successful ajax call注入了代码,链接看起来像这样href="https://www.example.org/?add-to-cart=262"

恢复为$('.product-crosssells a').on("click", function (event) {并且不动态插入它可以很好地工作。

1 个答案:

答案 0 :(得分:-1)

我刚刚意识到自己的愚蠢错误。

我正在使用ajax call来获取我的数据,然后insert after。因此,我应该将事件绑定到body,而不是document

$('body').on('click', '.product-crosssells a', function (event) {
    event.preventDefault();

    // multiple chunks of code

    return false;
});