【发布时间】:2017-09-06 04:57:21
【问题描述】:
原版 javascript -
document.addEventListener("click", function(){ alert('click fired');});
角度为 2 + -
@HostListener('window: click', ['$event'])
public iosSafariClick(e: any): void {
alert('event fired');
}
此方法在 iPad 上的 IOS safari 上均无效。
除非我点击某个按钮、超链接或任何可操作的项目,否则不会触发 Click 事件。
我的目标是在“div 元素”上触发 blur 事件。
为此,我试图检查是否在 HTML 正文上触发了任何点击事件,并检查它是否在“div 元素”上。
HTML >
<html>
<body>
<div id= 'menu'>123...</div>
</body>
</html>
Angular 组件 > 打字稿 >
@HostListener('window: click', ['$event'])
public iosSafariClick(e: any): void {
if(e.target.id !== 'menu'){
this.menu = false; // to close menu
}
}
有没有办法使用 javascript 或 Angular 来克服这个障碍?
【问题讨论】:
-
有人有解决这个问题的办法吗?
标签: javascript html ios angularjs safari