将鼠标悬停添加到页面上的所有元素

时间:2011-06-15 07:34:25

标签: jquery hover this

我需要在页面上的所有元素中添加一个悬停事件,我这样做:

$("*").hover(
      function () {
              $(this).addClass('hoverElem'); ;
      },
      function () {
              $(this).removeClass('hoverElem');
      }
    );

现在我需要让它在每个元素上执行事件,而不是在body元素,任何想法吗?

谢谢。

5 个答案:

答案 0 :(得分:1)

尝试选择正文下的所有元素:

$("body *").hover(...)

答案 1 :(得分:1)

$('body *').hover(function() { // ... });

答案 2 :(得分:0)

正如您在http://jsfiddle.net/D42d5/

中看到的那样

你可以使用not选择器,这样选择器可能看起来像:

    $("*:not(body)").hover(
      function () {
              $(this).addClass('hoverElem'); ;
      },
      function () {
              $(this).removeClass('hoverElem');
      }
    );

答案 3 :(得分:0)

尝试不同的方式:

$("#IframeID").contents().find("body *").hover(
      function () {
              $(this).addClass('hoverElem');
      },
      function () {
              $(this).removeClass('hoverElem');
      }
);

答案 4 :(得分:0)

也许你可以使用bind和unbind。

喜欢这个

     $("*").bind('hover', function() {
  //do something
});    
 $("body").unbind('hover', function() {
  //do something
});