首頁 > web前端 > js教程 > 主體

## Mouseover 與 Mouseenter:您應該何時使用每個事件?

Mary-Kate Olsen
發布: 2024-10-25 08:29:28
原創
351 人瀏覽過

## Mouseover vs. Mouseenter: When Should You Use Each Event?

了解Mouseover 和Mouseenter 事件之間的差異

在Web 開發中,mouseover 和mouseenter 事件通常用於與懸停相關的功能。雖然它們的行為可能相似,但兩者之間存在細微的差異。

事件傳播

mouseover 和 mouseenter 事件之間的主要區別在於它們的事件傳播。 mouseover 是一個冒泡事件,會向上傳播 DOM 層次結構,而 mouseenter 是一個非冒泡事件,僅發生在目標元素上。

這表示當滑鼠遊標進入其中的任何元素時,都可以觸發 mouseover 事件一個容器,而 mouseenter 事件僅在遊標進入目標元素本身時發生。

互動式示範

為了說明這個概念,請參考以下jQuery 示範:



var i = 0;<br>$("div.overout ")<br> .mouseover(function() {</p><pre class="brush:php;toolbar:false">i += 1;
$(this).find("span").text("mouse over x " + i);
登入後複製

})
.mouseout(function() {

$(this).find("span").text("mouse out ");
登入後複製

});

var n = 0;
$("div.enterleave")
.mouse function() {

n += 1;
$(this).find("span").text("mouse enter x " + n);
登入後複製

})
.mouseleave(function() {

$(this).find("span").text("mouse leave");
登入後複製

});

div.out {<br> 寬度:40%; <br> 高度:120px;<br> 邊距:0 15px;<br> 背景顏色:#d6edfc;<br> 浮動:左;<br>}</p><p>div.in {<br> 寬度: 60%;<br> 高度: 60%;<br> 背景顏色: #fc0;<br> 邊距: 10px auto;<br>}</p><p>p {<br> 行高: 1em ;<br> 邊距:0;<br> 填滿:0;<br>}
登入後複製

<腳本src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"> </script></p><p><div class="out overout "><br> <span>移動滑鼠</span><br> <div class="in"><br> </div><br></div></p><p><div class="out Enterleave"><br> <span>行動滑鼠</span><br> <div class="in"><br> </div ><br></div>
登入後複製

;

在此示範中,mouseover 事件附加到「overout」元素,mouseenter 事件附加到「enterleave」元素。當您將滑鼠移到「overout」容器上時,即使移到內部「in」元素上,滑鼠懸停事件的數量也會增加。相較之下,「enterleave」容器僅在滑鼠進入容器本身時增加 mouseenter 事件計數。

何時使用每個事件

基於其不同的事件傳播行為,當您需要處理容器內任何元素上的懸停時,建議使用mouseover 事件,無論滑鼠遊標是否進入容器本身。另一方面,當您特別想僅在指定的目標元素上處理滑鼠懸停時,請使用 mouseenter 事件。

以上是## Mouseover 與 Mouseenter:您應該何時使用每個事件?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!