如何触发自定义可取消事件

贝扎德·贝萨拉蒂

我知道如何在JavaScript中触发事件,但不知道如何将其取消。通过event.preventDefault()事件处理程序。

document.dispatchEvent(new CustomEvent("name-of-event", {}));

我已经编写了以下代码,但是怎么可能通过event.preventDefault()

document.dispatchEvent(new CustomEvent("my-event",function keepGoing(result){
  if(result){
      // continue ...
  }
}));

// And then in event listener:
document.addEventListener('my-event',function(event,keepGoing){
keepGoing(true);
// Or keepGoing(false);
});
回旋

CustomEvent构造函数接受第二个参数选项,您可以使用,使事件cancelable请参阅在MDN上创建和触发事件

var event = new CustomEvent("my-event", {
  cancelable: true
})

document.addEventListener('my-event', function (event) {
   event.preventDefault()
})

console.log(
  document.dispatchEvent(event) ? 'Event was not cancelled' : 'Event was cancelled'
)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章