2011-06-15 76 views
0

上,我需要一个悬停事件添加到网页上的所有元素,我这样做是这样的:添加悬停所有元素

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

现在我需要把它做事件上的每个元素,但不在身体元素,任何想法?

谢谢。

+1

如果我理解正确的话,如果你的代码上面的作品,你可以做这样的事情:“$(‘身体*’)悬停(.....”我。认为调整应该工作 – sisko 2011-06-15 07:37:30

回答

1

试身下选择的所有元素:

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

谢谢,但它没有工作,我有一个页面在iframe中,也许这就是为什么它不工作?任何其他想法? – Ovi 2011-06-15 07:43:35

+0

它现在工作,但它有趣的一些网站在iframe的工作和一些不。 – Ovi 2011-06-15 07:49:20

+0

试试我应该对所有人都适用的例子 – WooDzu 2011-06-15 07:52:14

1

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

0

正如你可以看到THI http://jsfiddle.net/D42d5/

可以使用不选择器这样的选择可能看起来像:

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

尝试不同的方式:

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

也许你可以使用bind和unbind。

像这样

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