【发布时间】:2011-07-22 08:44:38
【问题描述】:
以下代码将在视口的最顶部放置一个 div。
预期的行为是:
当用户将鼠标悬停在 div 上,然后向上移动鼠标直到光标移出视口时,应在控制台中记录“悬停”消息。问题是控制台没有记录任何内容。
当鼠标离开视口时,如何让 JQuery .hover() 将某些内容记录到控制台?
<body style="margin: 0; padding: 0;">
<div class="foo" style="background-color: blue; width: 100px; height: 100px;">
Test
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"></script>
<script>
$(".foo").hover(function(){
console.log("hover in");
}, function(){
console.log("hover out");
});
</script>
【问题讨论】:
-
问题在于这段代码你的身体里没有其他东西,所以 foo 被拉伸到整个身体,永远不会离开它。在正文中添加更多内容,它应该可以工作。
-
你的确切代码对我来说很好 -> jsfiddle.net/banksbiz/GXHhf
-
我同意 Banx。 Firebug 的控制台正在被完美写入。
-
Jerone,在问题中给出的源代码示例中,指定了div的宽度和高度,因此div没有像您建议的那样拉伸到整个身体。
-
Banx,我认为我的代码没有像你说的那样工作。请尝试制作一个包含代码的 html 文档,您应该能够复制该问题。当 div 与视口顶部齐平时会出现此问题。
标签: javascript jquery hover viewport jquery-hover