如何在 JavaScript 中复制指针事件的行为:无

Posted

技术标签:

【中文标题】如何在 JavaScript 中复制指针事件的行为:无【英文标题】:How to replicate the behavior of pointer-events:none in JavaScript 【发布时间】:2019-03-06 19:00:32 【问题描述】:

是否可以在 div 中捕获 onClick 事件但忽略任何其他行为,因为指针事件设置为无?

我有两个 div,背景和一种覆盖此背景的按钮。我在后台捕获一个拖动事件,如果从按钮开始,我也需要捕获这个拖动事件。我可以将我的按钮设置为pointer-events:none 来实现这一点,但是我无法捕获它的 onClick。

换句话说,我必须在 javascript 中复制pointer-events:none 的行为。

【问题讨论】:

event.preventDefault 见:developer.mozilla.org/en-US/docs/Web/API/Event/preventDefault 对所有可能的鼠标事件应用 preventDefault 不会产生 pointer-events:none 的效果。我试过:click,mousedown,mouseup,dblclick,mousemove,mouseover,mouseout 抱歉让我详细说明。事件泡沫。如果单击 div,则在 div 和 body 上都会触发 click 事件。如果我在div上监听click事件,并且使用e.preventDefault(),那么body就不会收到事件;它不会冒泡。 所以我想不可能阻止 div 并捕获 body 事件。对吗? AFAIK 是正确的,但我很高兴发现我错了。 【参考方案1】:

试试这个: Event.preventDefault()

【讨论】:

抱歉没有注意到

以上是关于如何在 JavaScript 中复制指针事件的行为:无的主要内容,如果未能解决你的问题,请参考以下文章

任何可用于 C 中无符号字符指针行为的文档? [复制]

在 C++ 中删除空指针是不是被认为是未定义的行为? [复制]

如何在 JavaScript 中捕获右键单击事件? [复制]

如何在javascript中停止事件? [复制]

如何在 javascript/typescript 事件回调中访问它,同时保留 removeEventListener 的能力? [复制]

JavaScript中的oncopy事件