我有一个如下的浏览器树。每个节点都是一个具有单独 id 的 div 元素。当鼠标悬停在节点上时,我想更改样式。并在用户左键单击或右键单击节点时执行某些操作。
问题 1:一些文档说 :hover 选择器存在性能问题。所以我改为监听 mouseover 和 mouseout 事件。推荐这种方式吗?
为了实现我的要求,我想监听每个节点的 mouseover、mouseout、click 和 contextmenu 事件。我有两个解决方案。第一个是将事件处理程序绑定到每个节点。第二个是仅将事件处理程序绑定到根节点。当事件冒泡到根节点时,将调用处理程序。
问题2:两种解决方案哪个性能更好?