DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> JavaScript基礎知識 >> 關於onmouseover和onmousemove的區別
關於onmouseover和onmousemove的區別
編輯:JavaScript基礎知識     

前兩天自己自己做的一個小demo出了bug,找了好久也沒發現出在哪裡。

demo代碼目的是得到鼠標"實時"在頁面的的clientX與clientY,

我用的是:document.onmouseover = function (){

            /*代碼區*/

};

 

解決問題後我用的是:document.onmousemove = function (){

            /*代碼區*/

};

 

以下是onmouseover與onmousemove的區別:

 

onmouseover     鼠標指針在該元素的上面就觸發
onmousemove    除了剛進入區域觸發外,鼠標指針在該元素的上面移動也會觸發
很顯然,“物體A在物體B的上面”跟“物體A在物體B的上面移動”是兩種完全不同的狀態(或者說概念),前者不管怎麼變化,只要物體A仍然在物體B的上面,這個狀態就不會改變的,而後者就不同了,每一次移動都會造成坐標的改變,就是說每次移動都會造成狀態改變的。


總結以上:onmouseover只觸發一次(只要鼠標移動到元素上面就觸發);onmousemove會不斷觸發(只要鼠標在元素上面並且移動了鼠標就觸發)。
一般情況下只需用onmouseover即可,特殊情況才用onmousemove(因為這個比較耗資源),比如需要監控鼠標坐標的變化。

 

順便提一下: onmouseup,onmousedown,onclick,

 

時間上 onmouseup 事件觸發後,再觸發 onclick 事件。

動作上 onmouseup 側重於檢測鼠標彈起,而 onclick 檢測鼠標按下並彈起,onmousedown 側重於檢測鼠標按下。

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved