jQuery-.hover()在子元素上激发

jQuery-.hover()在子元素上激发,jquery,hover,Jquery,Hover,我试图从定位并给它们一个悬停事件 不幸的是,包含一些位于自身外部的其他 问题在于,当我将鼠标悬停在子对象上时,.hover()事件会触发,因为在DOMwise上,它们是子对象,即使在设计/几何方面,它们看起来完全是不同的元素 当光标在本身上运行并且没有子元素时,是否有任何方法或任何其他事件可以使用 提前谢谢。这是换个款式吗? 如果是,请尝试使用CSS伪事件而不是jQuery,例如: li:hover { background-color:yellow; } 或者,使用例如stopPropa

我试图从
定位
  • 并给它们一个悬停事件

    不幸的是,
  • 包含一些位于
  • 自身外部的其他

    问题在于,当我将鼠标悬停在子对象
    上时,.hover()事件会触发,因为在DOMwise上,它们是子对象,即使在设计/几何方面,它们看起来完全是不同的元素

    当光标在
  • 本身上运行并且没有子元素时,是否有任何方法或任何其他事件可以使用


    提前谢谢。

    这是换个款式吗? 如果是,请尝试使用CSS伪事件而不是jQuery,例如:

    li:hover
    {
      background-color:yellow;
    }
    
    或者,使用例如stopPropagation(),例如:

    不幸的是,我认为这不适用于hover,但它适用于mouseover和mouseout,这是hover的基本用途。

    您可以使用该属性来确定事件的发起人以实现此目的:

    $('li').hover(function (event) {
       if ($(this).is(event.target)) {
         // Your code here
      }
    });
    

    另外,这方面没有任何标准,因为DOM元素不一定有任何大小,冒泡行为通常是可取的。

    Second one是一个省时的方法。谢谢您不必对每件事都使用jquery。if(this==event.target)也有效。
    $('li').hover(function (event) {
       if ($(this).is(event.target)) {
         // Your code here
      }
    });