jQuery mouseleave和mouseout 區別

admin發表於2017-02-25
標題中的事件的功能有點類似,當然區別也是明顯的,下面就通過例項介紹一下它們的區別到底在何處。

關於兩個事件的概念這裡就不多介紹具體可以參閱:

mouseleave事件可以參閱jQuery mouseleave事件一章節。 

mouseout事件可以參閱jQuery mouseout事件一章節。

先看一段程式碼例項:

[HTML] 純文字檢視 複製程式碼
<!DOCTYPE html>
<html>
<head>
<meta charset=" utf-8">
<meta name="author" content="http://www.softwhy.com/" />
<title>螞蟻部落</title>
<style type="text/css">
#left,#right{
  width:200px;
  height:100px;
  background-color:#F00;
  float:left;
  margin-left:50px;
} 
.inner{
  width:100px;
  height:80px;
  background-color:#609;
  margin:0px auto;
  margin-top:10px;
}
</style>
<script src="http://libs.baidu.com/jquery/1.9.0/jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
  $("#left").mouseleave(function(){
     alert("mouseleave事件觸發");
  })
  $("#right").mouseout(function(){
     alert("mouseout事件觸發");
  })
})
</script>
</head>
<body>
<div id="left">
  <div class="inner"></div>
</div>
<div id="right">
  <div class="inner"></div>
</div>
</body>
</html>

(1).只有滑鼠指標離開匹配元素才會觸發mouseleave事件。

(2).mouseout事件則更為“敏感”一些,滑鼠指標進入匹配元素的子元素也算是已經離開了匹配元素,並且當滑鼠指標離開匹配元素的子元素的時候,也會觸發mouseout事件。

相關文章