亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 語言 > JavaScript > 正文

跨瀏覽器的 mouseenter mouseleave 以及 compareDocumentPosition的使用說明

2024-05-06 14:10:09
字體:
來源:轉載
供稿:網友

寫了這么久 js應用 我居然不知道這兩個事件 于是 去google搜索了一番. 才發現這兩個事件 是如此的優秀 且好用... 但搜索過程中 發現 好多人 似乎不太明白這兩個事件 和mouseover mouseout 真正的區別 和用途..  并且看到google中搜索得到的 一些朋友 實現的 跨瀏覽器 解決方案. 覺得似乎有些繁瑣...所以產生了寫一篇blog 把這玩意 說透徹的沖動... 好啦.我們進入正題.

對于 mouseover 和mouseenter 兩個事件 最大的區別就是 mouseenter 是 不冒泡的事件 ..這話怎么理解呢?

<div id=="parent">
<div id="child"></div>
</div>

對于mouseover 時間來說 當鼠標從其他元素 移動到 child節點時發生 但此事件會冒泡 所以會導致 parent 也出發mouseover

如果我們對 parent注冊了 mouseover監聽. 則可能會產生一個什么問題呢? 從 parent移動到child 同樣出發parent的mouseover  有時候我們不希望這樣的事情發生. 這時候 如果注冊的監聽 是mouseenter的話  無論鼠標從任何元素 移動到child時 只有child元素 發生mouseenter事件 而其祖宗節點 都不會因為冒泡 而觸發此事件...這就 使我們可以徹底放棄  我們以往為了 實現同樣的邏輯  又要對子節點禁止mouseover冒泡 或者又去判斷事件源對象 或判斷srcElement/relatedTarget 那樣麻煩的方案.

對于 mouseout 和mouseleave 也是如此 當鼠標從child 移出時 mouseout同樣會冒泡到 parent 從而觸發parent的 mouseout 二mouseleave 同樣無此問題.

 

知道了區別 剩下的事情就好辦多了. 遇到此類需求 我們一律mouseenter mouseleave就好..問題是 這玩意只有ie支持 怎么辦呢?

我們只能 用mouseover 和mouseout來模擬  但是如果我們的模擬方案 太過復雜 那是在就意義不大了... 這時候我們就可以 借助 xml 方法compareDocumentPosition 來徹底解決這個問題

我在我的類庫中 封裝了一個方法 專門用來判斷 某個節點的位置 是否在另一個節點的子節點中...

ie可以用 parentNode.contains(childNode) 來判斷 這沒什么好說的 childNode在parentNode DOM樹中存在 那么就是true 

而contains方法 ie專屬 那么 我們就是借助 !!(node.compareDocumentPosition(node2) &16) 來實現同樣的效果.

那么接下來 我們就來談談 compareDocumentPosition 方法 否則 你看到上面的 &16 一定會困惑無比...

 

compareDocumentPosition 方法在非ie瀏覽器 都被實現到 節點對象的 中了  所以

node.compareDocumentPosition(node2) 的作用就是 比較 node節點與node2節點之間的位置關系..

他的返回值是一個number值...

一般來說 對我們有用的 是以下幾個值

1.  20  (2進制: 010100)

2.  10  (2進制:   001010)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美香蕉大胸在线视频观看| 国产精品久久久一区| 亚洲国产欧美一区二区三区同亚洲| 亚洲精品久久视频| 亚洲国产女人aaa毛片在线| 欧洲亚洲妇女av| 蜜月aⅴ免费一区二区三区| 尤物九九久久国产精品的特点| 成人网中文字幕| 日本午夜精品理论片a级appf发布| 久久久久久久97| 久久免费在线观看| 国产综合色香蕉精品| 在线观看中文字幕亚洲| 欧美激情极品视频| 亚洲成年网站在线观看| 国产精品777| 亚洲精品色婷婷福利天堂| 欧美性猛交xxxx富婆弯腰| 中文字幕日韩在线播放| 国产精品免费观看在线| 亚洲女同精品视频| 成年无码av片在线| 97精品伊人久久久大香线蕉| 国产裸体写真av一区二区| 日本最新高清不卡中文字幕| 在线日韩欧美视频| 久久影院资源网| 亚洲欧洲午夜一线一品| 激情成人在线视频| 欧美黄色三级网站| 97视频在线观看免费高清完整版在线观看| 亚洲人成毛片在线播放| 成人综合网网址| 亚洲高清免费观看高清完整版| 爽爽爽爽爽爽爽成人免费观看| 国产一区二区三区视频免费| 国产精品成人一区二区三区吃奶| 91精品国产综合久久香蕉最新版| 91香蕉嫩草神马影院在线观看| 91影院在线免费观看视频| 国模精品视频一区二区三区| 亚洲成人久久久| 国产成人97精品免费看片| 久久亚洲综合国产精品99麻豆精品福利| 欧美激情视频在线观看| 亚洲精品免费在线视频| 国产精品久久久久久久久久| 欧美xxxx做受欧美| 国产在线视频欧美| 国产91在线视频| 国产精品久久久久久av福利软件| 亚洲成人精品在线| 97视频人免费观看| 国产福利精品在线| 国产精品极品在线| 亚洲第一网站男人都懂| 91精品国产91久久久久久久久| 亚洲网站在线播放| 国产成人一区三区| 色在人av网站天堂精品| 欧美精品videossex88| 国产视频福利一区| 欧美美最猛性xxxxxx| 欧美国产极速在线| 97在线视频国产| 欧美电影《睫毛膏》| 国产精品一区二区三区免费视频| 在线看日韩欧美| 亚洲视频在线观看网站| 亚洲人成免费电影| 国模精品系列视频| 国产精品久久久久福利| 国产成人精品综合| 热久久免费国产视频| 日本精品久久中文字幕佐佐木| 日韩在线观看免费全集电视剧网站| 亚洲国产小视频在线观看| 懂色av一区二区三区| 91久久在线观看| 国产精品久久999| 欧美黑人视频一区| 81精品国产乱码久久久久久| 免费91在线视频| 日韩欧美在线免费观看| 日本电影亚洲天堂| 亚洲精品国产精品国产自| 国产亚洲精品91在线| 国产美女直播视频一区| 亚洲精品二三区| 亚洲女人天堂网| 久久视频国产精品免费视频在线| 亚洲精品国产免费| 三级精品视频久久久久| 8090成年在线看片午夜| 91av在线国产| 国产精品91一区| 久久亚洲一区二区三区四区五区高| 91在线直播亚洲| 欧美日韩在线免费| 国产欧美日韩高清| 国产丝袜高跟一区| 欧美激情免费视频| 日韩av片免费在线观看| 日韩av网站大全| 亚洲夜晚福利在线观看| 国产精品一区二区三区成人| 91免费看片网站| 亚洲国产精品电影| 91网站免费看| 国产精品69av| 成人黄色在线观看| 尤物yw午夜国产精品视频| 久久免费少妇高潮久久精品99| 永久555www成人免费| 精品国产欧美一区二区三区成人| 国产小视频91| 精品少妇一区二区30p| 国产欧美日韩综合精品| 欧美在线一级va免费观看| 国产精品久久久久久av下载红粉| 国产精品视频不卡| 45www国产精品网站| 日韩欧美一区二区三区久久| 亚洲a成v人在线观看| 日韩在线观看成人| 精品视频久久久久久久| 51色欧美片视频在线观看| 亚洲xxxx妇黄裸体| 久热在线中文字幕色999舞| 国产欧美va欧美va香蕉在线| 日韩欧美中文在线| 国产亚洲精品久久久优势| 国模精品一区二区三区色天香| 亚洲精品久久久久国产| 亚洲成人激情视频| 久久久精品欧美| 亚洲国产日韩欧美在线动漫| 久久精品亚洲热| 国产精品福利小视频| 国产精品h片在线播放| 久久精品欧美视频| 日韩在线观看高清| 成人免费视频xnxx.com| 亚洲丝袜在线视频| 高清欧美性猛交| 国产91网红主播在线观看| 一区二区欧美久久| 日韩在线免费视频观看| 91在线观看免费网站| 久久中文字幕视频| 久久福利视频网| 精品国产一区av| 国产欧美日韩丝袜精品一区| 国产精品日韩在线播放| 久久久最新网址| 亚洲美女自拍视频| 国产欧美精品在线播放| 久久网福利资源网站| 亚洲在线免费看| 亚洲最大激情中文字幕| 91精品视频免费| 精品视频在线播放免| 51久久精品夜色国产麻豆|