2011-08-09 26 views
1

は、私がこれまで持っているものです:私は2つの上にマウス、私はそれが#twoかであるかどうかをtrueを返したいのですがときjQueryでは、要素が「マウスオーバーされた」とその要素の子要素を検出するにはどうすればよいですか?ここ

<div id='one'> 
    <div id="two"> 
     <div id="three"> 
      three 
     </div> 
    </div> 
</div> 

var hoveredElement; //none per default 

;(function($){ 
$.fn.isHovered = function(){ 
    return (hoveredElement.length && $(this)[0] === hoveredElement[0]); 
}; 

})(jQuery); 


$(document).mouseover(function(e){ 
    hoveredElement = $(e.target); 
}); 


$(document).mouseover(function(e){ 
    console.log($(this).isHovered()); 
}); 

は基本的に私は次のような構造を持っています私がマウスオーバーしている#3。

これはどのように達成できますか?

+1

何らかの理由なぜあなたは['hover()'](http://api.jquery.com/hover/)を使わないのですか? – Shef

答えて

1

jQuery .hover() API:http://api.jquery.com/hover/を使用すると、$(this)で現在のオブジェクトを表示できるはずです。以下のような

何か:

$('div').hover( 
function() { console.log('hovering over %o', $(this) }, 
function() { console.log('leaving') } 
); 
+1

それは本当に私が欲しいものではありません。要素またはその子がぶら下がっているかどうかを返す関数が必要です。 –

+0

私が言ったように、私はホバー上でアクションを実行するのではなく、むしろそのアイテムがホバリングされているかどうかによって別のスクリプトの流れを変更しています。 –

+0

私は、これを使って変数を設定する関数を作成することができました。ありがとう –

1

は、それはあなたが

関連する問題