这个方法的前两个用法是
.bind('mouseenter', handler)
的快捷方式,第3个不带参数的用法是
.trigger('mouseenter')
的快捷方式。
mouseenter
JavaScript事件是Internet Explorer专有的。由于该事件在平时很有用,jQuery的模拟这一事件,以便它可用于所有浏览器。该事件在鼠标移入到元素上时被触发。任何HTML元素都可以接受此事件。
举例来说,请看下面的HTML:
这些代码执行后,点击
Trigger the handler
同样警报显示。
mouseenter
事件和
mouseover
的不同之处是事件的冒泡的方式。如果
mouseover
在这个例子中使用了,然后当鼠标指针在
Inner
元素上移动,该处理程序将被触发。这通常是不受欢迎的行为。另一方面,
mouseenter
事件只会在绑定它的元素上被调用,而不会在后代节点上被触发。因此,在这个例子中,当鼠标进入
Outer
元素,而不是
Inner
元素时,处理器才会被触发。
Show texts when mouseenter and mouseout event triggering.
mouseover
当触发 mouseenter 和 mouseout 事件时,显示一段文字。当鼠标移动到绑定 mouseover 事件元素的子元素上时,mouseover 事件同样会被触发。但是,只有在绑定 mouseenter 事件的元素上,才会触发该事件。
background-color:#D6EDFC;
background-color:#FFCC00;
<script src="https://code.jquery.com/jquery-latest.js"></script>
<div class="out overout"><p>move your mouse</p><div class="in overout"><p>move your mouse</p><p>0</p></div><p>0</p></div>
<div class="out enterleave"><p>move your mouse</p><div class="in enterleave"><p>move your mouse</p><p>0</p></div><p>0</p></div>
$("div.overout").mouseover(function(){
$("p:first",this).text("mouse over");
$("p:last",this).text(++i);
$("p:first",this).text("mouse out");
$("div.enterleave").mouseenter(function(){
$("p:first",this).text("mouse enter");
$("p:last",this).text(++n);
}).mouseleave(function(){
$("p:first",this).text("mouse leave");