<em id="0a85b"><option id="0a85b"></option></em>

<abbr id="0a85b"></abbr>

      <nobr id="0a85b"></nobr>
        <tr id="0a85b"></tr>
        9久久伊人精品综合,亚洲一区精品视频在线,成 人免费va视频,国产一区二区三区黄网,99国产精品永久免费视频,亚洲毛片多多影院,精品久久久无码人妻中文字幕,无码国产欧美一区二区三区不卡
        學習啦>學習電腦>電腦硬件知識>鍵盤鼠標>

        鼠標事件屬性詳解

        時間: 沈迪豪908 分享

          學前端的小伙伴們你們對數表事件有多少了解?跟著學習啦小編一起學習一下鼠標事件吧

          鼠標事件的screenY,pageY,clientY,layerY,offsetY屬性詳解

          screenY

          鼠標相對于顯示器屏幕左上角的偏移

          pageY

          鼠標相對于頁面左上角的偏移 (其值不會受滾動條的影響)

          IE9之下并不支持這個屬性

          但是可以寫點代碼計算出來。 jQuery中的實現:

          代碼如下:

          // Calculate pageX/Y if missing and clientX/Y available

          if ( event.pageX == null && original.clientX != null ) {

          eventDoc = event.target.ownerDocument || document;

          doc = eventDoc.documentElement;

          body = eventDoc.body;

          event.pageX = original.clientX + ( doc && doc.scrollLeft || body && body.scrollLeft || 0 ) - ( doc && doc.clientLeft||body&&body.clientLeft || 0 );

          event.pageY = original.clientY + ( doc && doc.scrollTop || body && body.scrollTop || 0 ) - ( doc && doc.clientTop || body && body.clientTop || 0 );

          }

          簡單點實現就是。

          鼠標相對于瀏覽器視口的偏移加上文檔的滾動條隱藏的高度減去文檔的clientTop.

          代碼如下:

          var pageY = event.clientY +document.documentElement. scrollTop-document.documentElement.clientTop

          為何要減去document.documentElement.clientTop

          這是IE8之下瀏覽器特有的文檔的偏移,即使設置html,body的padding和margin為0也不會影響其值。

          在iE7下測試,得到

          代碼如下:

          document.documentElement.clientTop --> 2px document.documentElement.clientLeft --> 2px

          document.bocy.clientTop --> 0px document.body.clientLeft --> 0px

          clientY

          鼠標相對于瀏覽器視口左上角的偏移

          注意clientY和pageY的區別,clientY在頁面無滾動條的情況下值等同于pageY

          ----------------------------------分割-----------------------------------------------

          layerY

          如果元素的position樣式不是默認的static,我們說這個元素具有定位屬性。

          在當前觸發鼠標事件的元素和它的祖先元素中找到最近的具有定位屬性的元素,計算鼠標與其的偏移值,以找到元素的border的左上角的外交點作為相對點。如果找不到具有定位屬性的元素,那么就相對于當前頁面計算偏移,此時等同于pageY。

          IE9之下并不支持這個屬性,但是可以用其特有的offsetY替換

          offsetY

          IE專有的屬性

          offsetY和layerY的不同在于,前者的在計算偏移值時,相對于元素的border左上角的內交點,因此當鼠標位于元素的border上時,偏移值是一個負值。 另外offsetY并不在乎觸發事件的元素是否有定位屬性,它總是相對于觸發事件的元素來計算偏移值。

          鑒于layerY和offsetY的不同,要兼容的使用二者要注意

          1.觸發事件的元素一定要設置定位屬性。

          2.在元素具有上邊框border-top的情況下, layerY比offsetY的值多一個border-top的寬度值。

          代碼如下:

          //這里的element.borderTopWidth必須是實際計算出的元素的上邊框寬度。

          var borderTopWidth = window.getComputedStyle ? window.getComputedStyle(element,null).borderTopWidth: element.currentStyle.borderTopWidth;

          var offsetY = event.offsetY||(event.layerY + borderTopWidth);

          通過layerY和offsetY屬性,可以很方便的計算鼠標相對于綁定鼠標事件元素的偏移,這在某些時候非常有用。

          這里詳細說了鼠標豎直方向的偏移屬性,水平方向的偏移類似,不再討論。

        鼠標事件相關文章:

        1.如何設置鼠標事件

        2.鍵精靈制作鼠標事件

        3.flash鼠標事件

        4.怎么實現單擊變雙擊

        5.鼠標是誰發明的 鼠標知識解析大全

        1948850 主站蜘蛛池模板: 国产肉丝袜在线观看| 国产在线观看毛带| 亚洲精品成人网线在线播放va| 亚洲精品久久麻豆蜜桃| 亚洲av片在线免费观看| 强奷漂亮少妇高潮伦理| 极品美女高潮呻吟国产剧情| 中文国产不卡一区二区| 99精品国产一区二区三区| 午夜福利精品国产二区| 蜜芽亚洲AV无码精品国产午夜| 国产成人欧美一区二区三区在线| 成在人线av无码免费高潮水老板 | 久久不见久久见免费视频观看| 成人网站免费观看永久视频下载| 亚洲码和欧洲码一二三四| 幻女free性俄罗斯毛片| 精品一区二区不卡无码av| 欧美人与动牲交xxxxbbbb| 亚洲欧美综合一区二区三区| 亚洲熟妇熟女久久精品一区| 国产精品视频一区不卡| 亚洲精品久久7777777国产| 欧美日韩一线| 国产成人禁片在线观看| 午夜福利国产片在线视频| 老熟女重囗味hdxx69| 国产乱人伦真实精品视频| 在线A级毛片无码免费真人| 潘金莲高清dvd碟片| 国产很色很黄很大爽的视频| 亚洲欧美色中文字幕| 丁香五月亚洲综合在线国内自拍| 久久精品亚洲国产成人av| 男女性杂交内射女bbwxz| 破了亲妺妺的处免费视频国产| 亚洲精品国产av成人网| 精品九九人人做人人爱| 99久久精品国产一区二区| 精品黄色av一区二区三区 | 老熟女重囗味hdxx69|