javascript - 如何取消文档方法的关闭事件 - addEventListener('close')
问题描述
我有 mdl 的下一个对话框:
document.getElementById('dialog').addEventListener('close', function (event) {
event.preventDefault()
});
所以我想取消这个活动。当我按下后退按钮时,我希望对话框不关闭。此事件可以捕获关闭事件,但不能停止该事件,因为可取消属性将设置为 false。
解决方案
您可以使用removeEventListener
,但必须传递使用时传递的相同事件处理程序addEventListener
const closerHandler = function (event) {
event.preventDefault();
}
document.getElementById('dialog').addEventListener('close',closerHandler);
...
document.getElementById('dialog').removeEventListener('close', closerHandler);
或者你可以使用 rxjsfromEvent
const source = fromEvent( document.getElementById('dialog'), 'close');
const subscribe = example.subscribe(val => console.log(val));
稍后您可以使用取消订阅方法
subscribe.unsubscribe()
推荐阅读
- ruby-on-rails - 如何从模板生成 XML?(Leads#create 中的 NoMethodError)(Rails)
- python - 带有 Python 下载按钮的网页
- spring - 使用spring@Transactional时,隔离和传播到底是谁做的,是springframework还是数据库?
- c# - C# - 使用块之外的 TransactionScope?
- c# - 在 Unity 中的 App Start 上每个会话仅运行一次特定代码
- pyparsing - 如何解析和返回关键字的层次结构?
- virtual-machine - 为什么快照加速应用程序启动?
- php - 获得最高出价者
- spring-boot - 迁移 Java 和 Spring Boot
- python - 按中心裁剪图像