如何不将(鼠标悬停)传递给子代,而是在父代占用的整个空间上保持功能可用?

马克

我有一个动态生成的列表,其中包含应在上执行操作的复杂组件mouseover

由于我使用Angular,因此我尝试在组件的最高父元素上使用(mouseover)="onhover($event)"进行构建(mouseout)="onhover($event),以获取它,然后从那里路由到应更改的不同组件。

<div class="my-list_element" id="{{'my-list_element' + i}}" (mouseover)="onhover($event)" (mouseout)="onhover($event)" >

然后,打字稿代码通常具有捕获事件的功能:

onhover(event: Event){
    let id = (event.target as HTMLInputElement).id;
    console.log(id.toString());
  }

在测试它是否有效时,我注意到,如果我不直接将鼠标悬停在组件的父项上,则子项的ID会记录在控制台中,这不会使到应该更改的元素的静态路由成为可能。

是否可以在整个组件上保留mouseover/ mouseout,但仍仅获取整个组件的最高父级的ID?

雷·哈特菲尔德

您可以参考event.currentTarget而不是event.target

事件接口的currentTarget只读属性始终指向事件处理程序已附加到的元素,而Event.target则相反,后者标识发生事件的元素,也可能是事件发生的原因。后裔。

在下面的代码段中,请注意,无论哪个元素触发了事件,currentTarget始终都是包含<li>元素:

function doStuff(e) {
  console.clear();
  console.log(`target: ${e.target.className}`); // div-child
  console.log(`currentTarget: ${e.currentTarget.className}`); // li-parent
}
ul {
  list-style: none;
  margin: 0;
  padding: 1rem;
  background: tomato;
}

li {
  padding: 0.25rem;
  background: bisque;
}

li div {
  background: white;
  margin: 0.5rem;
  padding: 0.5rem;
}
<ul>
  <li class="li-parent" onmouseover="doStuff(event)">
    <div class="div-child">child 1</div>
    <div class="div-child">child 2</div>
  </li>
</ul>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何不将鼠标悬停在可见性隐藏元素上?

来自分类Dev

检测鼠标悬停在哪个元素上并传递给函数

来自分类Dev

将鼠标悬停在div上,同时将鼠标悬停在整个标签上

来自分类Dev

如何显示部分字幕,以及如何将鼠标悬停在整个字幕上

来自分类Dev

如何在保持鼠标悬停功能的同时跨过图像居中

来自分类Dev

在鼠标悬停时将$(this)传递给setTimeout函数

来自分类Dev

如何使用CSS将鼠标悬停在整个列表元素(包括项目符号)上?

来自分类Dev

将鼠标悬停在 CSS Grid 项目上时如何突出显示整个按钮?

来自分类Dev

将鼠标悬停在图像上但如何使边框保持原位时如何放大?

来自分类Dev

当您将鼠标悬停在整个表格行上时,如何使按钮出现在悬停状态?

来自分类Dev

鼠标悬停不是功能

来自分类Dev

如何不将点击事件传递给孩子反应?

来自分类Dev

如何在鼠标悬停的图像上显示悬停效果

来自分类Dev

调整窗口大小时,鼠标悬停功能和鼠标离开功能保持工作

来自分类Dev

如何使Button内部的链接在悬停时更改颜色而不将鼠标悬停在链接上

来自分类Dev

悬停/鼠标悬停功能冲突

来自分类Dev

悬停/鼠标悬停功能冲突

来自分类Dev

如何为鼠标悬停功能添加延迟?

来自分类Dev

当我将鼠标悬停在整个块而不只是文本上时,如何激活链接?

来自分类Dev

鼠标悬停在菜单项上时,如何使整个宽度的菜单项更改背景颜色?

来自分类Dev

鼠标悬停。保持课堂直到将鼠标悬停在另一个元素上

来自分类Dev

为什么不将鼠标悬停在第一个项目上

来自分类Dev

如何在鼠标悬停事件上添加索引?

来自分类Dev

如何将鼠标悬停在硒上?

来自分类Dev

鼠标悬停在栏上时如何显示标签

来自分类Dev

如何获取鼠标悬停在元素上的属性

来自分类Dev

如何在css中的图像上模拟鼠标悬停

来自分类Dev

如果悬停在另一个重叠元素上,请保持鼠标悬停

来自分类Dev

鼠标悬停图像保持不变

Related 相关文章

  1. 1

    如何不将鼠标悬停在可见性隐藏元素上?

  2. 2

    检测鼠标悬停在哪个元素上并传递给函数

  3. 3

    将鼠标悬停在div上,同时将鼠标悬停在整个标签上

  4. 4

    如何显示部分字幕,以及如何将鼠标悬停在整个字幕上

  5. 5

    如何在保持鼠标悬停功能的同时跨过图像居中

  6. 6

    在鼠标悬停时将$(this)传递给setTimeout函数

  7. 7

    如何使用CSS将鼠标悬停在整个列表元素(包括项目符号)上?

  8. 8

    将鼠标悬停在 CSS Grid 项目上时如何突出显示整个按钮?

  9. 9

    将鼠标悬停在图像上但如何使边框保持原位时如何放大?

  10. 10

    当您将鼠标悬停在整个表格行上时,如何使按钮出现在悬停状态?

  11. 11

    鼠标悬停不是功能

  12. 12

    如何不将点击事件传递给孩子反应?

  13. 13

    如何在鼠标悬停的图像上显示悬停效果

  14. 14

    调整窗口大小时,鼠标悬停功能和鼠标离开功能保持工作

  15. 15

    如何使Button内部的链接在悬停时更改颜色而不将鼠标悬停在链接上

  16. 16

    悬停/鼠标悬停功能冲突

  17. 17

    悬停/鼠标悬停功能冲突

  18. 18

    如何为鼠标悬停功能添加延迟?

  19. 19

    当我将鼠标悬停在整个块而不只是文本上时,如何激活链接?

  20. 20

    鼠标悬停在菜单项上时,如何使整个宽度的菜单项更改背景颜色?

  21. 21

    鼠标悬停。保持课堂直到将鼠标悬停在另一个元素上

  22. 22

    为什么不将鼠标悬停在第一个项目上

  23. 23

    如何在鼠标悬停事件上添加索引?

  24. 24

    如何将鼠标悬停在硒上?

  25. 25

    鼠标悬停在栏上时如何显示标签

  26. 26

    如何获取鼠标悬停在元素上的属性

  27. 27

    如何在css中的图像上模拟鼠标悬停

  28. 28

    如果悬停在另一个重叠元素上,请保持鼠标悬停

  29. 29

    鼠标悬停图像保持不变

热门标签

归档