jQuery mouseout和mouseleave事件的區別

admin發表於2017-02-10

兩個事件功能非常的相像,當滑鼠指標離開匹配元素的時候兩個事件都能夠被觸發,貌似功能是一模一樣的,但是還是有著巨大的區別,下面通過例項來介紹一下兩者的區別。

[HTML] 純文字檢視 複製程式碼
<!DOCTYPE html>
<html>
<head>
<meta charset=" utf-8">
<meta name="author" content="http://www.softwhy.com/" />
<title>螞蟻部落</title>
<style type="text/css">
div {
  width: 150px;
  height: 150px;
  background-color: green;
  margin-top: 10px;
}
.children {
  width: 80px;
  height: 80px;
  background-color: red;
}
span {
  font-size: 12px;
  color: red;
}
</style>
<script src="http://libs.baidu.com/jquery/1.9.0/jquery.js"></script>
<script type="text/javascript">
$(document).ready(function () {
  $(".mouseout").mouseout(function () {
    $("span").text("mouseout事件觸發了");
  })
  $(".mouseleave").mouseleave(function () {
    $("span").text("mouseleave事件觸發了");
  })
});
</script>
</head>
<body>
  <div class="mouseout">
    <div class="children"></div>
  </div>
  <div class="mouseleave">
    <div class="children"></div>
  </div>
  <span></span>
</body>
</html>

上面的程式碼測試可能不夠便利,不過也可以測試出,當滑鼠指標從匹配元素或者匹配元素的子元素移出來的時候都可以觸發mouseout事件,但是隻有滑鼠指標從匹配元素移出時才能觸發mouseleave事件。

相關文章