var i = 0;
$("div.overout")
.mouseover(function() {
i += 1;
$(this).find("span").text("mouse over x " + i);
})
.mouseout(function() {
$(this).find("span").text("mouse out ");
});
var n = 0;
$("div.enterleave")
.mouseenter(function() {
n += 1;
$(this).find("span").text("mouse enter x " + n);
})
.mouseleave(function() {
$(this).find("span").text("mouse leave");
});
6 回答
只有Chrome可让您建议在点击包含动态生成内容的链接时使用的名称 . 但是,您可以在鼠标光标位于链接上时生成内容,并将其作为DATAURI放在标准静态href中 . 这将在右键单击菜单中启用“将链接另存为...”选项 .
您可以在the jQuery doc页面中尝试以下示例 . 这是一个很好的小型互动演示,它非常清晰,你可以亲自看看 .
简而言之,您会注意到当一个元素在它上面时会发生一个鼠标悬停事件 - 来自它的子OR或父元素,但只有当鼠标从该元素外部移动到该元素时才会发生鼠标输入事件 .
或as the mouseover() docs把它:
Mouseenter和mouseleave do not 对事件冒泡做出反应,而mouseover和mouseout do .
这是描述行为的article .
对于像这样的问题通常都是如此,Quirksmode有the best answer .
我想,因为jQuery的目标之一是使浏览器不可知,所以使用任一事件名称都会触发相同的行为 . 编辑:感谢其他帖子,我现在看到的情况并非如此
解释得很好here