亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

mouseout和mouseleave的區別?

我看兩個事件都是鼠標移出執行什么什么操作啊,有什么不同???什么時候用哪個?。?/p>

正在回答

2 回答

mouseout是冒泡的,mouseleave是不冒泡的?

在一個多層容器結構中,如果只有你需要的那一層容器有綁移除事件,兩個沒有區別 ;如果多層綁有移除事件,前者有冒泡,結果是移出內層(可能還沒有移出外層)觸發內層的移除事件后,會冒泡到外層觸發外層的移除的事件。后者的話只會觸發內層的移出事件不會冒泡到外層。

0 回復 有任何疑惑可以回復我~
#1

寶慕林2233867 提問者

非常感謝!
2016-07-26 回復 有任何疑惑可以回復我~
<!doctype?html>
<html>
<head>
<meta?charset="UTF-8">
<title>jQuery基礎修煉圣典—事件篇</title>
<script?src="https://cdn.bootcss.com/jquery/3.0.0/jquery.min.js"></script>
<style>
li{
padding:?10px;
margin-bottom:?4px;
background:?rgba(0,0,255,.3);
}
li?span{display:none;background:?yellow}
</style>
</head>
<body>

<ul>
<li>只有開被選<span>span</span></li>
<li>在鼠標指針離<span>span</span></li>
<li>元素時,才<span>span</span></li>
<li>會觸發?mous<span>span</span></li>
<li>eleave?事件。<span>span</span></li>
</ul>
<script>

$(function(){
$("li").each(function(i)?{
???//刪除的鼠標劃過的顯示與隱藏
???$(this).mouseover(function()?{
???????$(this).find(".del").fadeIn(100);
???})
???$(this).mouseout(function()?{
???????$(this).find(".del").fadeOut(100);
???})
})
})
</script>
</body>
</html>

以上一個例子,你可以修改mouseout為mouseleave看看

當為mouseout的時候,你會發現在li內部鼠標移到.del的時候.del會閃動,那是因為你可能離開了該DIV的子元素,所以會出發mouseout事件。而mouseleave沒有這個問題。

具體mouseleave和mouseout兩者之間的區別主要有以下兩點:

1.不論鼠標指針離開被選元素還是任何子元素,都會觸發 mouseout 事件。

2.只有在鼠標指針離開被選元素時,才會觸發 mouseleave 事件。


0 回復 有任何疑惑可以回復我~
#1

weibo_賴嘰寶_0

為什么mouseout,即使鼠標指針沒有離開div元素,為什么有時候移動還是會有冒泡的記錄。發現在div元素內,移動時,發現鼠標由指針變成光標時(鼠標移動到a元素內容上),就會記錄out次數,可是這兩個a元素明明是在div元素內部,這是為什么
2018-02-27 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

mouseout和mouseleave的區別?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號