Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JQuery preventDefualt无法处理由AJAX元素动态创建的_Jquery_Preventdefault - Fatal编程技术网

JQuery preventDefualt无法处理由AJAX元素动态创建的

JQuery preventDefualt无法处理由AJAX元素动态创建的,jquery,preventdefault,Jquery,Preventdefault,出于某种原因,event.preventDefault()不适用于以下代码: $(document).on('click', '.product-crosssells a', function (event) { event.preventDefault(); // multiple chunks of code return false; }); 奇怪的是运行了多个代码块。因此,文档单击肯定会被拾取。但出于某种原因,违约并没有起作用 在成功的ajax调用之后,使用

出于某种原因,
event.preventDefault()不适用于以下代码:

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

    // multiple chunks of code

    return false;
});
奇怪的是运行了多个代码块。因此,文档单击肯定会被拾取。但出于某种原因,违约并没有起作用

成功的ajax调用之后,使用
.after()
注入代码
&该链接如下所示https://www.example.org/?add-到购物车=262“


恢复到
$('.product crosssells a')。在(“单击”上,函数(事件){
,而不动态插入它可以正常工作。

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

我正在使用
ajax调用
获取数据,然后在
之后插入。因此,我应该将事件绑定到
主体
,而不是
文档

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

    // multiple chunks of code

    return false;
});

event.preventDefault()
不会停止多个区块的运行。它只会阻止打开您的
产品交叉销售的链接。
指向的链接。请使用演示问题的示例更新您的问题,最好是使用堆栈片段运行的问题(《代码》[]
工具栏按钮;)@AnuragSrivastava很清楚,…@T.J.Crowder你知道链接在那些环境中无论如何都不起作用吗?@DCdaz-Drat,我编辑了自动注释的堆栈片段部分,但后来又认为如果你有
target
,你是可以的,但不是在堆栈片段中(它们被完全锁定了),非常正确。因此,在问题中加入MCVE的方法是将代码放入问题中,然后(可选)通过一个实例链接到某个环境。这根本不会有任何区别。@t.J.Crowder当然有。我会在今天晚些时候补充一个详细的解释,解释为什么会有这种情况。除非有一些不明显的因素,否则preventDefault是否会阻止链接的默认操作没有任何区别。这不是基于意见的事情.这是基于事实的。你问题和答案中的事实并不支持你的主张。现在,如果你遗漏了事实,那么,除了你之外,任何人都不能做这件事。