jQuery:如何获得我在整个文档正文中全局悬停的最里面的dom元素?

时间:2011-04-17 10:36:12

标签: javascript jquery hover mouseevent

我想检测整个文档正文中的鼠标移动,并能够确切地告诉我正在盘旋的DOM的哪个部分。 “哪个部分”是指鼠标当前所在的最内层DOM元素。

我可以将悬停绑定到整个文档正文,但是$(this)会给我$(正文),而不是最内层的元素。或者我可以递归地迭代整个DOM并将悬停绑定到每个元素,但这将是一个严重的过度杀手IMO。

有没有简单的方法来实现这一目标?

3 个答案:

答案 0 :(得分:4)

jQuery's event.target应该这样做:

$("body").click(function(event) {
  console.log($(event.target));
});

答案 1 :(得分:0)

根据Jasie的建议,我最终使用了以下代码:

var currentNode = null;
$('body').mousemove(function(event) {
  if ($(event.target) !== currentNode) {
    currentNode = $(event.target);
    console.log(currentNode);
  }
});

答案 2 :(得分:-1)

:)想到所有元素,比如:

<div>this is div</div>
<span>this is span</span>
<p>This is p</p>
<a>this a</a>
<ul><li>this is ul li</li></ul>
<ol><li>This is ol li</li></ol>
<img src="" />
<textarea id="text"></textarea>

textarea仅向您显示结果。

jQuery("div,span,p,a,ul,ol,img").hover(function(){
    jQuery("#text").append(jQuery(this).html() + 
                           "<br />");
},function(){
}
);