我有下一个mdl对话框:
document.getElementById('dialog').addEventListener('close', function (event) {
event.preventDefault()
});
所以我想取消此活动。我希望在按下后退按钮时不关闭对话框。此事件可以捕获close事件,但不能停止该事件,因为cancelable属性将设置为false。
答案 0 :(得分:0)
您可以使用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()