作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个Angular组件,其中的<ul>
元素包含<li>
元素。我有以下代码:
@HostListener('document:mousedown', ['$event'])
onMouseDown(event: MouseEvent): void {
func();
}
func()
,但某些应用了
<li>
类的
disabled
元素除外。我希望
event.target
将返回我单击的
<li>
,以便我可以执行类似的操作
if (!event.target.disabled) {
func()
}
event.target
返回的是
<ul>
而不是
<li>
。这是我的模板:
<div>
<ul>
<ng-container>
<ng-template>
<li>
<li class="disabled">
<li>
</ng-template>
</ng-container>
</ul>
</div>
最佳答案
你可以尝试这种方法:
https://stackblitz.com/edit/angular-kfonyy
@HostListener('document:click', ['$event'])
onMouseDown(event): void {
this.func(event.target)
}
func(element) {
if (element.tagName == ‘LI’ && element.classList.contains('disabled')) {
console.log("clicked disabled li")
} else {
console.log("clicked elsewhere")
}
}
关于javascript - Angular :如何从点击事件获取<li>而不是<ul>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59473992/
我是一名优秀的程序员,十分优秀!