gpt4 book ai didi

jquery - 扩展 jQuery 的点击事件

转载 作者:行者123 更新时间:2023-12-01 01:00:24 25 4
gpt4 key购买 nike

我需要找到一种全局方法来防止如果 anchor 具有disabled =“disabled”(是的我知道这不是一个有效的属性)触发jQuery on('click')事件 anchor )属性集。 anchor 还可以随时动态设置为禁用。

另一个问题是触发顺序,因为我在“框架”内工作,并且 App 类加载第一个和后续类,然后加载 anchor 事件。理想情况下,我希望在 App 类内部有一些东西来阻止“子”类事件触发,但目前子类事件首先触发,然后是 App 事件,因此使用 stopPropagation() 也不起作用。

我对一些解决方案持谨慎态度,例如 How to order events bound with jQuery如您所见,这可能会在 jQuery 版本之间中断。

最佳答案

如果点击事件传播未停止,委派事件将起作用:

$(document).on('click', 'a[disabled]', function(e){
e.preventDefault();
});

否则,您可以使用 CSS 规则:

a[disabled] {
pointer-events: none;
}

如果您希望某个事件在其任何后代之前在父级触发,请捕获该事件,例如:

document.addEventListener('click', function(e){
if($(e.target).closest('a[disabled]').length) {
// do something which be fired before any click handler bound to `.parentClass *`
// e.g prevent any other event
e.stopImmediatePropagation();
// and prevent default anchor click behaviour
e.preventDefault();
}
}, true);

关于jquery - 扩展 jQuery 的点击事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39345660/

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