鼠標(biāo)事件

click:單擊事件。
dblclick:雙擊事件靶剑。
mousedown:按下鼠標(biāo)鍵時(shí)觸發(fā)剩辟。
mouseup:釋放按下的鼠標(biāo)鍵時(shí)觸發(fā)。
mousemove:鼠標(biāo)移動(dòng)事件躯保。
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)部移動(dòng)歌溉,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 滴太哦
向上滾動(dòng)返回值為大于0
向下滾動(dòng)返回值為小于0
非火狐:e.wheelDelta 帶哦特
向上滾動(dòng)返回值為小于0
向下滾動(dòng)返回值為大于0

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





?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末捂龄,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子加叁,更是在濱河造成了極大的恐慌,老刑警劉巖唇撬,帶你破解...
    沈念sama閱讀 211,194評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件它匕,死亡現(xiàn)場離奇詭異,居然都是意外死亡窖认,警方通過查閱死者的電腦和手機(jī)豫柬,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,058評論 2 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來扑浸,“玉大人烧给,你說我怎么就攤上這事『仍耄” “怎么了础嫡?”我有些...
    開封第一講書人閱讀 156,780評論 0 346
  • 文/不壞的土叔 我叫張陵,是天一觀的道長酝惧。 經(jīng)常有香客問我榴鼎,道長,這世上最難降的妖魔是什么晚唇? 我笑而不...
    開封第一講書人閱讀 56,388評論 1 283
  • 正文 為了忘掉前任巫财,我火速辦了婚禮,結(jié)果婚禮上哩陕,老公的妹妹穿的比我還像新娘平项。我一直安慰自己赫舒,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,430評論 5 384
  • 文/花漫 我一把揭開白布闽瓢。 她就那樣靜靜地躺著接癌,像睡著了一般。 火紅的嫁衣襯著肌膚如雪鸳粉。 梳的紋絲不亂的頭發(fā)上扔涧,一...
    開封第一講書人閱讀 49,764評論 1 290
  • 那天,我揣著相機(jī)與錄音届谈,去河邊找鬼枯夜。 笑死,一個(gè)胖子當(dāng)著我的面吹牛艰山,可吹牛的內(nèi)容都是我干的湖雹。 我是一名探鬼主播,決...
    沈念sama閱讀 38,907評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼备图!你這毒婦竟也來了骨宠?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,679評論 0 266
  • 序言:老撾萬榮一對情侶失蹤征讲,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后橡娄,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體诗箍,經(jīng)...
    沈念sama閱讀 44,122評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,459評論 2 325
  • 正文 我和宋清朗相戀三年挽唉,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了滤祖。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,605評論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡瓶籽,死狀恐怖匠童,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情塑顺,我是刑警寧澤汤求,帶...
    沈念sama閱讀 34,270評論 4 329
  • 正文 年R本政府宣布,位于F島的核電站茬暇,受9級特大地震影響首昔,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜糙俗,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,867評論 3 312
  • 文/蒙蒙 一勒奇、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧巧骚,春花似錦赊颠、人聲如沸格二。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,734評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽顶猜。三九已至,卻和暖如春痘括,著一層夾襖步出監(jiān)牢的瞬間长窄,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,961評論 1 265
  • 我被黑心中介騙來泰國打工纲菌, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留挠日,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,297評論 2 360
  • 正文 我出身青樓翰舌,卻偏偏與公主長得像嚣潜,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子椅贱,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,472評論 2 348

推薦閱讀更多精彩內(nèi)容

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