我有 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/