.mouseover()
.mouseover( handler(eventObject) ) 返回: jQuery
描述: 為 "mouseover" 事件綁定一個(gè)處理函數(shù),或者觸發(fā)元素上的 "mouseover" 事件。
-
version added: 1.0.mouseover( handler(eventObject) )
handler(eventObject)每次事件觸發(fā)時(shí)會(huì)執(zhí)行的函數(shù)。
-
version added: 1.4.3.mouseover( [ eventData ], handler(eventObject) )
eventData將要傳遞給事件處理函數(shù)的數(shù)據(jù)映射。
handler(eventObject)每次事件觸發(fā)時(shí)會(huì)執(zhí)行的函數(shù)。
version added: 1.0.mouseover()
這個(gè)函數(shù)的第一種用法是 .bind('mouseover', handler) 的快捷方式,第二種用法是 .trigger('mouseover') 的快捷方式。
當(dāng)鼠標(biāo)指針進(jìn)入元素內(nèi)時(shí),mouseover事件就會(huì)被發(fā)送到這個(gè)元素,任何HTML元素都可以接受此事件。
舉例來說,請(qǐng)看下面的HTML:
<div id="outer">
Outer
<div id="inner">
Inner
</div>
</div>
<div id="other">
Trigger the handler
</div>
<div id="log"></div>

這個(gè)事件可以綁定到任何元素:
$('#outer').mouseover(function() {
$('#log').append('<div>Handler for .mouseover() called.</div>');
});
現(xiàn)在當(dāng)指針進(jìn)入Outer <div>元素時(shí),“Handler for .mousedown() called.”這個(gè)字符串將被添加到<div id="log">。當(dāng)不同的元素被點(diǎn)擊時(shí)我們也可以觸發(fā)這個(gè)事件:
$('#other').click(function() {
$('#outer').mouseover();
});
這些代碼執(zhí)行后,點(diǎn)擊Trigger the handler 同樣添加這個(gè)信息。
此事件類型可以導(dǎo)致由于事件冒泡引起的很多頭痛的問題。例如,在這個(gè)例子中當(dāng)鼠標(biāo)指針移動(dòng)到Inner元素,mouseover事件將被發(fā)送到Inner元素,然后冒泡到Outer元素 。這可能會(huì)不合時(shí)宜的觸發(fā)綁定的mouseover處理函數(shù)。這可以用一個(gè)替代方法,見討論. mouseenter ()。
Example:
Show the number of times mouseover and mouseenter events are triggered. mouseover fires when the pointer moves into the child element as well, while mouseenter fires only when the pointer moves into the bound element.
<!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.min.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>