gpt4 book ai didi

jquery - 如何拦截 jQuery 实时点击事件?

转载 作者:行者123 更新时间:2023-12-01 02:32:11 26 4
gpt4 key购买 nike

我正在使用 WordPress 并使用一个在页脚加载其 Javascript 文件的库,使用 <script src> .
这是我需要阻止的代码:

var $ =jQuery.noConflict();
jQuery(document).ready(function($)
{
jQuery('.at-delete_image_button').live('click', function(e)
{
data = { /* ... */ };
$.getJSON(ajaxurl, data, function(response) { /* ... */ });
return false;
});
});

就在<script src>之后,我正在打印以下内容,但它不起作用:

<script type="text/javascript">
jQuery(document).ready( function($)
{
$('.at-delete_image_button').live('click', function (e){
e.preventDefault();
e.stopPropagation();
});
});
</script>

来自same Q&A我找到了以前的代码,我也尝试了 .die('click');方法没有成功。

[更新]

我忘记添加 DOM 屏幕截图。
dom screenshot

最佳答案

您无法从 .live() 处理程序中 preventDefault(),因为事件在到达 .live()< 时已经传播了 处理程序。您需要直接在实际对象本身或父对象上有一个处理程序(不使用 .live())。

如果有一个不是动态创建的父对象,您可以在该父对象处停止传播,然后它就不会到达 上的 .live() 处理程序文档对象。

你可以这样做:

jQuery(static parent selector).on('click', '.at-delete_image_button', function(e) {
// stop propagation up the parent chain so the click event never gets
// to the `document` object where .live() would process it
e.stopPropagation();
});

静态父选择器是匹配所有'.at-delete_image_button'对象的静态父选择器。

关于jquery - 如何拦截 jQuery 实时点击事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13813570/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com