鼠標(biāo)事件

click:單擊事件。
dblclick:雙擊事件。
mousedown:按下鼠標(biāo)鍵時(shí)觸發(fā)。
mouseup:釋放按下的鼠標(biāo)鍵時(shí)觸發(fā)。
mousemove:鼠標(biāo)移動事件。
mouseover:移入事件。
mouseout:移出事件。
mouseenter:移入事件。
mouseleave:移出事件。
contextmenu:右鍵事件。

mouseover事件和mouseenter事件,都是鼠標(biāo)進(jìn)入一個(gè)節(jié)點(diǎn)時(shí)觸發(fā)。兩者的區(qū)別是,mouseenter事件只觸發(fā)一次,而只要鼠標(biāo)在節(jié)點(diǎn)內(nèi)部移動,mouseover事件會在子節(jié)點(diǎn)上觸發(fā)多次。

var div = document.getElementById("div")
var p   = document.getElementById("p")
div.onmouseover=function(){
    console.log("div")
}
p.onmouseover=function(){
    console.log("p")            
}                               //冒泡階段
div.onmouseenter=function(){
    console.log("div")
}
p.onmouseenter=function(){
    console.log("p")
}                               //捕獲階段

鼠標(biāo)事件屬性
MouseEvent.altKey
MouseEvent.ctrlKey
MouseEvent.metaKey
MouseEvent.shiftKey
分別代表鼠標(biāo)事件發(fā)生時(shí),是否按下了對應(yīng)的鍵盤按鍵。返回值為布爾值。

document.body.onclick=function(e){
    e=e||window.event
    console.log("altKey:"+e.altKey);            //是否按下alt鍵
    console.log("ctrlKey:"+e.ctrlKey);          //是否按下Ctrl鍵
    console.log("metaKey:"+e.metaKey);          //是否按下meta鍵
    console.log("shiftKey:"+e.shiftKey);        //是否按下shift鍵
}

MouseEvent.button屬性返回一個(gè)數(shù)值,表示事件發(fā)生時(shí)按下了鼠標(biāo)的哪個(gè)鍵。
0代表左鍵
1代表中鍵
2代表右鍵

document.body.onmousedown=function(e){
    e=e||window.event
    console.log(e.button)
}

MouseEvent.clientX,MouseEvent.clientY
MouseEvent.clientX屬性返回鼠標(biāo)位置相對于瀏覽器窗口左上角的水平坐標(biāo),
MouseEvent.clientY屬性返回鼠標(biāo)位置相對于瀏覽器窗口左上角的垂直坐標(biāo),
這兩個(gè)屬性都是只讀屬性。

document.body.onmousedown=function(e){
    e=e||window.event
    console.log(e.clientX,e.clientY)
}

MouseEvent.offsetX,MouseEvent.offsetY
MouseEvent.offsetX屬性返回鼠標(biāo)位置距離事件作用對象左側(cè)邊緣的水平距離,
MouseEvent.offsetY屬性返回鼠標(biāo)位置距離事件作用對象左側(cè)邊緣的垂直距離,
這兩個(gè)屬性都是只讀屬性。

div.onclick=function(e){
    e=e||window.event
    console.log(e.offsetX,e.offsetY)
    //鼠標(biāo)事件觸發(fā)時(shí),當(dāng)前鼠標(biāo)位置距離目標(biāo)節(jié)點(diǎn)左上角的距離
}

MouseEvent.pageX,MouseEvent.pageY
MouseEvent.pageX屬性返回鼠標(biāo)位置距離文檔左側(cè)邊緣的距離,
MouseEvent.pageY屬性返回鼠標(biāo)位置距離文檔頂部的距離。
這兩個(gè)屬性都是只讀屬性。

document.body.onclick=function(e){
    e=e||window.event
    console.log("pageY:"+e.pageY)               //距離文檔頂部
    console.log("clientY:"+e.clientY)           //距離可視窗口頂部
}

MouseEvent.movementX,MouseEvent.movementY(了解)
MouseEvent.movementX屬性返回上一個(gè)mousemove事件與當(dāng)前mousemove事件間的水平位移,
MouseEvent.movementY屬性返回上一個(gè)mousemove事件與當(dāng)前mousemove事件的垂直距離。
這兩個(gè)屬性都是只讀屬性。

e.screenX,e,screenY
距離屏幕的水平和垂直距離

鼠標(biāo)滾輪事件
滾輪事件在火狐瀏覽器中是DOMMouseScroll,而在其他瀏覽器中是onmousewheel。
向上下滾就保存到e.detail里面
火狐:e.detail 滴太哦
向上滾動返回值為大于0
向下滾動返回值為小于0
非火狐:e.wheelDelta 帶哦特
向上滾動返回值為小于0
向下滾動返回值為大于0

        function wheelEvent(e){
            e=e||window.event
            if(e.detail){   //判斷是否支持e.detail    支持的話說明是火狐
                if(e.detail<0){
                    console.log("向上滾動")
                }else{
                    console.log("向下滾動")
                }
            }else{          //不支持,說明是其他瀏覽器
                if(e.wheelDelta<0){
                    console.log("向下滾動")
                }else{
                    console.log("向上滾動")
                }
            }
        }
        
document.body.onmousewheel=wheelEvent                           
document.body.addEventListener("mousewheel",wheelEvent)         //非火狐
document.body.addEventListener("DOMMouseScroll",wheelEvent)     //火狐





?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 本節(jié)介紹各種常見的瀏覽器事件。 鼠標(biāo)事件 鼠標(biāo)事件指與鼠標(biāo)相關(guān)的事件,主要有以下一些。 click 事件,dblc...
    許先生__閱讀 2,827評論 0 4
  • 焦點(diǎn)事件焦點(diǎn)事件會在頁面元素獲得或失去焦點(diǎn)時(shí)觸發(fā)。確定瀏覽器是否支持該類事件! var isSu...
    Miss____Du閱讀 6,726評論 1 10
  • ??JavaScript 與 HTML 之間的交互是通過事件實(shí)現(xiàn)的。 ??事件,就是文檔或?yàn)g覽器窗口中發(fā)生的一些特...
    霜天曉閱讀 3,678評論 1 11
  • 下面是9個(gè)鼠標(biāo)事件。 click:單擊鼠標(biāo)左鍵或者按下回車鍵時(shí)觸發(fā)。dblclick:雙擊鼠標(biāo)左鍵時(shí)觸發(fā)。mous...
    張鴿閱讀 752評論 0 0
  • 1. 鼠標(biāo)事件 在DOM3級事件中定義了9個(gè)鼠標(biāo)事件: click:在用戶單擊主鼠標(biāo)按鈕(一般是左邊的按鈕)或按下...
    MaterialCoder閱讀 4,227評論 0 3

友情鏈接更多精彩內(nèi)容