Angular4/子元素不触发父(点击)事件

标签 angular typescript events event-bubbling

我有一个下拉功能,应该通过点击这个 div 来调用

<div (click)="toggleDropdown($event)" data-id="userDropdown">
 Username <i class="mdi mdi-chevron-down"></i>
</div>

但是当我点击 <i> 时没有触发点击事件元素

toggleDropdown($event) {
    const id = $event.target;
    document.querySelector('[data-drop=' + id.getAttribute('data-id') + ']').classList.toggle('active');
}

无论如何,我可以让子点击事件触发父点击事件吗?

Plnkr

最佳答案

使用 $event.currentTarget 而不是 $event.target

这样您将获得附加了事件处理程序的元素。

Plunker Example

阅读更多

关于Angular4/子元素不触发父(点击)事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44857300/

相关文章:

angular - 平面图内的 rxjs 条件

angular - Angular 项目中 manifest.json 文件的用途是什么

Angular 5 : "No provider for ControlContainer"

javascript - 如何验证服务器端的浏览器是否没有窗口引用?

typescript - 类型 Window 上不存在 XMLHttpRequest

typescript - typescript 中的装饰器返回函数的时间

typescript - 添加自定义@types 的 js 库还没有它

Javascript 使用 setTimeout 单击并按住元素

jquery触发事件

javascript - 获取发生鼠标点击的html元素?