onmouseleave和onmouseout事件的區別
關於標題中兩個事件的基本用法可以參閱以下兩篇文章。
(1).mouseleave事件詳解一章節。
(2).javascript mouseout事件一章節。
下面再介紹一下這兩兩個事件的區別主要在哪些方面。
一.onmouseleave事件不具有冒泡特性:
onmouseleave事件不具有冒泡特點,而onmouseout事件具有。
程式碼例項如下:
[HTML] 純文字檢視 複製程式碼<!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <style type="text/css"> #mouseout,#mouseleave { width:300px; height:200px; background:#ccc; margin:0px auto; margin-bottom:20px; } #top,#bottom { width:100px; height:100px; background:green; margin:0px auto; } #mouseout_show,#mouseleave_show { text-align:center; } </style> <script type="text/javascript"> window.onload = function () { var mouseout = document.getElementById("mouseout"); var mouseleave = document.getElementById("mouseleave"); var top = document.getElementById("top"); var bottom = document.getElementById("bottom"); var mouseout_show = document.getElementById("mouseout_show"); var mouseleave_show = document.getElementById("mouseleave_show"); var mouseoutCount = 0; var mouseleaveCount = 0; mouseout.onmouseout = function () { mouseoutCount = mouseoutCount + 1; mouseout_show.innerHTML = mouseoutCount; } top.onmouseout = function () { mouseoutCount = mouseoutCount + 1; mouseout_show.innerHTML = mouseoutCount; } mouseleave.onmouseleave = function () { mouseleaveCount = mouseleaveCount + 1; mouseleave_show.innerHTML = mouseleaveCount; } bottom.onmouseleave = function () { mouseleaveCount = mouseleaveCount + 1; mouseleave_show.innerHTML = mouseleaveCount; } } </script> </head> <body> <div id="mouseout"> <div id="top"></div> </div> <div id="mouseout_show"></div> <div id="mouseleave"> <div id="bottom"></div> </div> <div id="mouseleave_show"></div> </body> </html>
從上面的程式碼演示可以看到onmouseleave是沒有冒泡效果的,onmouseout是有的。
特別說明:
(1).從父元素移入子元素也會觸發父元素的onmouseout事件。
(2).從子元素移出,也會觸發父元素的onmouseout事件,並且無法通過阻止冒泡事件阻止這一現象。
相關文章
- onmouseleave事件詳解事件
- input事件和change事件區別事件
- focusout和blur事件的區別事件
- onclick和onmousedown事件區別事件
- jQuery mouseout和mouseleave事件的區別jQuery事件
- onkeyup和onkeydown事件的區別事件
- 如何防止滑鼠移出子元素觸發父元素的onmouseout事件事件
- delphi OnMouseLeave 事件不靈敏及解決之道事件
- 事件關鍵詞 bind 和 catch 的區別、事件物件 target 和 currentTarget 的差異事件物件
- 命令和事件有什麼區別? - Oskar事件
- touch事件與click事件區別事件
- onclick與click事件的區別事件
- focusin與focus事件的區別事件
- 安卓觸控事件與單擊事件的區別安卓事件
- 非同步API中事件、命令和狀態區別非同步API事件
- Javascript中的事件物件和事件型別JavaScript事件物件型別
- ../和./和/的區別
- input與change事件區別事件
- 和 的區別
- as 和 with的區別
- ||和??的區別
- /*和/**的區別
- LinkedList和ArrayList的區別、Vector和ArrayList的區別
- http和https的區別/get和post的區別HTTP
- 臨界區,互斥量,訊號量,事件的區別事件
- ./ 和sh 的區別
- JQuery this和$(this)的區別jQuery
- jquery $(this) 和this的區別jQuery
- T和?的區別
- ++a和a++的區別
- makefile =和:=的區別
- React事件與普通HTML事件有什麼區別React事件HTML
- keyup,keypress,keydown事件的區別事件
- javascript對點選事件和拖動事件的區分JavaScript事件
- Mybatis中#{}和${}傳參的區別及#和$的區別小結MyBatis
- 和區別
- loadend 與 load 事件區別事件
- javascript事件冒泡和事件捕獲型別JavaScript事件型別