概述 .mouseover( handler(eventObject) )
返回值:jQuery
描述:为 JavaScript 的 "mouseover" 事件绑定一个处理函数,或者触发元素上的该事件。(手册网注:支持事件冒泡)
这个方法的前两个用法是 .bind('mouseover', handler)
的快捷方式,第3个不带参数的用法是 .trigger('mouseover')
的快捷方式。
当鼠标指针进入元素内时,mouseover
事件就会被触发,任何HTML元素都可以接受此事件。
举例来说,请看下面的HTML:
- <div id="outer">
- Outer
- <div id="inner">
- Inner
- </div>
- </div>
- <div id="other">
- Trigger the handler
- </div>
- <div id="log"></div>
这个事件可以绑定到任何元素:
- $('#outer').mouseover(function() {
- $('#log').append('<div>Handler for .mouseover() called.</div>');
- });
现在当指针进入Outer <div>
元素时,“Handler for .mousedown() called.”这个字符串将被添加到<div id="log">
。我们也可以通过点击其它元素,手动触发另一个元素上的该事件:
- $('#other').click(function() {
- $('#outer').mouseover();
- });
这些代码执行后,点击Trigger the handler 同样添加这个信息。
由于此事件类型冒泡,可能导致引起的很多头痛的问题。例如,在这个示例中当鼠标指针移出Inner元素,mouseover
事件将被发送到Inner元素,然后冒泡到Outer元素 。这可能会不合时宜的触发绑定的mouseover
处理函数。这可以用一个替代方法,见讨论. mouseenter ()
。
.mouseover()
方法只是作为.on( "mouseover", handler )
的一个速记写法,移除该事件可以使用.off(
"mouseover"
)
。
示例
当触发 mouseover 和 mouseenter 事件时,显示鼠标移出对象的次数。当鼠标移入绑定 mouseover 事件元素的子元素时,mouseover 事件同样会被触发。但是,只有在绑定 mouseenter 事件的元素上,将鼠标移入时,才会触发该事件。
- <!DOCTYPE html>
- <html>
- <head>
- <style>
- div.out { width:40%; height:120px; margin:0 15px;
- background-color:#D6EDFC; float:left; }
- div.in { width:60%; height:60%;
- background-color:#FFCC00; margin:10px auto; }
- p { line-height:1em; margin:0; padding:0; }
- </style>
- <script src="http://code.jquery.com/jquery-latest.js"></script>
- </head>
- <body>
-
- <div class="out overout">
- <span>move your mouse</span>
- <div class="in">
- </div>
- </div>
-
- <div class="out enterleave">
- <span>move your mouse</span>
- <div class="in">
- </div>
- </div>
-
- <script>
- 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");
- });
-
- </script>
-
- </body>
- </html>