如何检查自定义事件是否被阻止

How check if custom event was prevented

在我的代码中,我需要在发送后与自定义事件进行交互。

// ...
let customEvent = new CustomEvent('myevent', {
  bubbles: true,
  cancelable: true
});

button.addEventListener('click', function (e) {
  e.preventDefault();
  otherElement.dispatchEvent( customEvent );
  // at this point i neeed some help
  // if ( customEvent was canceled or prevented ) { do something }
});

如何检查它是否已被 prevented/cancelled 或其他解决方案从事件中获得一些“反馈”?

您可以检查事件对象

中的布尔值defaultPrevented

您可以检查 defaultPrevented property. Also the dispatchEvent method returns 是否仍会执行默认操作。

有很多方法可以做到这一点。一种方式:

var isCanceled = !otherElement.dispatchEvent(event);