angular 点击特定区域外事件
发布时间:2020-12-17 08:36:20 所属栏目:安全 来源:网络整理
导读:angular 点击特定区域外事件 模板 div #unclick这里不出发事件,点击其他区域出发事件/Div或者div class="unclick"这个也不行哦/Div 上代码 // 视图选择装饰器函数(对应模板`div #unclick`) @ViewChildren('unclick') unclick: QueryListElementRef;//监听dom
angular 点击特定区域外事件模板 <div #unclick>这里不出发事件,点击其他区域出发事件</Div> 或者 <div class="unclick">这个也不行哦</Div> 上代码 // 视图选择装饰器函数(对应模板`<div #unclick>`) @ViewChildren('unclick') unclick: QueryList<ElementRef>; //监听dom @HostListener('document:click',['$event']) bodyClick(e) { // if(!e.path || e.path || e.path.forEach) return // getTrigger(this.unclick) ? '触发全局点击' : '不触发全局点击' console.log(getTrigger(this.unclick,'unclick')) function getTrigger(queryList,className?) { let flag = true; // 遍历事件节点 (<HTMLElement[]>e.path).forEach(i => { // 是否为 #unclick flag && queryList.forEach(el => { i.isEqualNode && i.isEqualNode(el.nativeElement) && (flag = false) }) // 是否为 class="unclick" flag && i.className && i.className.indexOf && i.className.indexOf(className) > -1 && (flag = false) }) return flag } } 相关知识点:
isEqualNode className 为DOM原生方法 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |