javascript - 如何取消文档方法的关闭事件- addEventListener ('close' )

标签 javascript angular

我有 mdl 的下一个对话框:

document.getElementById('dialog').addEventListener('close', function (event) {
         event.preventDefault()



});

所以我想取消这个事件。我希望当我按下后退按钮时对话框不会关闭。该事件可以捕获关闭事件,但无法停止该事件,因为 Cancelable 属性将被设置为 false。

最佳答案

您可以使用removeEventListener,但您必须传递与使用addEventListener时传递的相同事件处理程序

const closerHandler = function (event) {
  event.preventDefault();

}

document.getElementById('dialog').addEventListener('close',closerHandler); 
...    
document.getElementById('dialog').removeEventListener('close', closerHandler);

或者你可以使用rxjs fromEvent

const source = fromEvent( document.getElementById('dialog'), 'close');
const subscribe = example.subscribe(val => console.log(val));

稍后您可以使用取消订阅方法

 subscribe.unsubscribe() 

关于javascript - 如何取消文档方法的关闭事件- addEventListener ('close' ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58894698/

相关文章:

javascript - 使用CKEditor v4.2上传图片时添加上传图标

javascript - 我正在尝试 trim jQuery 函数的输出

javascript - 包含重复项函数不会返回 true?

php - 如何使用 onchange 向 javascript 提供用户在下拉列表中的选择?

javascript - 如何去抖动内部组件的@Output?

angular - 如果用户取消对话框,则重置 Md-Slide-Toggle

json - 将特定的 Javascript 库导入到 Angular 4(如果库不导出变量)

html - Angular2禁用点击div

angular - 如何停止在自动完成组件中添加重复的芯片?

javascript - 我的产品页面中的 undefined object