整合營銷服務商

          電腦端+手機端+微信端=數(shù)據(jù)同步管理

          免費咨詢熱線:

          值得收藏的HTML DOM事件和鼠標鍵盤事件

          得收藏的HTML DOM事件和鼠標鍵盤事件

          onabort//圖像的加載被中斷。

          onblur//元素失去焦點。

          onchange//域的內容被改變。

          onclick//當用戶點擊某個對象時調用的事件句柄。

          ondblclick//當用戶雙擊某個對象時調用的事件句柄。

          onerror//在加載文檔或圖像時發(fā)生錯誤。

          onfocus//元素獲得焦點。

          onkeydown//某個鍵盤按鍵被按下。

          onkeypress//某個鍵盤按鍵被按下并松開。

          onkeyup//某個鍵盤按鍵被松開。

          onload//一張頁面或一幅圖像完成加載。

          onmousedown//鼠標按鈕被按下。

          onmousemove//鼠標被移動。

          onmouseout//鼠標從某元素移開。

          onmouseover//鼠標移到某元素之上。

          onmouseup//鼠標按鍵被松開。

          onreset//重置按鈕被點擊。

          onresize//窗口或框架被重新調整大小。

          onselect//文本被選中。

          onsubmit//確認按鈕被點擊。

          onunload//用戶退出頁面。

          值得收藏的HTML DOM事件和鼠標鍵盤事件

          altKey//返回當事件被觸發(fā)時,"ALT" 是否被按下。

          button//返回當事件被觸發(fā)時,哪個鼠標按鈕被點擊。

          clientX//返回當事件被觸發(fā)時,鼠標指針的水平坐標。

          clientY//返回當事件被觸發(fā)時,鼠標指針的垂直坐標。

          ctrlKey//返回當事件被觸發(fā)時,"CTRL" 鍵是否被按下。

          metaKey//返回當事件被觸發(fā)時,"meta" 鍵是否被按下。

          relatedTarget//返回與事件的目標節(jié)點相關的節(jié)點。

          screenX//返回當某個事件被觸發(fā)時,鼠標指針的水平坐標。

          screenY//返回當某個事件被觸發(fā)時,鼠標指針的垂直坐標。

          shiftKey//返回當事件被觸發(fā)時,"SHIFT" 鍵是否被按下。

          值得收藏的HTML DOM事件和鼠標鍵盤事件

          以上內容為互聯(lián)網收集感謝關注與收藏

          輪事件是不同瀏覽器會有一點點區(qū)別,一個像Firefox使用DOMMouseScroll ,ff也可以使用addEventListener方法綁定DomMouseScroll事件,其他的瀏覽器滾輪事件使用mousewheel,下面我來給大家具體介紹。

          Firefox使用DOMMouseScroll,其他的瀏覽器使用mousewheel。滾動事件觸發(fā)時Firefox使用detail屬性捕捉滾輪信息,其他的瀏覽器使用wheelDelta。不知道為何在該問題上其他廠商和微軟的如此一致。Firefox可以使用addEventListener方法綁定DomMouseScroll事件。

          elem.addEventListener(‘DOMMouseScroll’, func, false);IE和其他的主流瀏覽器可以使用傳統(tǒng)的事件綁定模型。但不要使用IE專有的attachEvent方法,其他主流瀏覽器并不識別微軟的這個方法。

          Firefox 鼠標滾輪向上滾動是-3,向下滾動是3

          IE 鼠標滾輪向上滾動是120,向下滾動是-120

          Safari 鼠標滾輪向上滾動是360,向下滾動是-360

          Opera 鼠標滾輪向上滾動是120,向下滾動是-120

          Chrome 鼠標滾輪向上滾動是120,向下滾動是-120

          有人在Safari下做了一些測試:”只是滾動一圈的話,值為+-0.1,如果滾動地稍微快點的話(多滾動幾圈),這個值也會變大。 這是因為Mac OS下有鼠標滾輪加速功能。滾動一次,瀏覽器滾動1像素,滾動3次,瀏覽器卻滾動30像素”。同時他也對Camino(基于Gecko的內核引擎)進行研究:“與Safari相似(+- 0.3 to +-Infinity),雖然使用了與firefox相同的內核引擎,但結果這個delta值卻只在+-2.666666里浮動,無論滾動速度如何

          IE/Opera屬于同一類型,使用attachEvent即可添加滾輪事件

          /*IE注冊事件*/ 
          if(document.attachEvent){ 
           document.attachEvent('onmousewheel',scrollFunc); 
          }
          

          Firefox使用addEventListener添加滾輪事件

          /*Firefox注冊事件*/ 
          if(document.addEventListener){ 
           document.addEventListener('DOMMouseScroll',scrollFunc,false); 
          }
          

          Safari與Chrome屬于同一類型,可使用HTML DOM方式添加事件

          window.onmousewheel=document.onmousewheel=scrollFunc;//IE/Opera/Chrome

          其中除Firefox外其余均可使用HTML DOM方式添加事件,因此添加事件使用以下方式

          /*注冊事件*/ 
          if(document.addEventListener){ 
           document.addEventListener('DOMMouseScroll',scrollFunc,false); 
          }//W3C 
          window.onmousewheel=document.onmousewheel=scrollFunc;//IE/Opera/Chromex
          

          下面兩個參數(shù)可以獲取滾動的位置

          document.documentElement.scrollTop:垂直方向

          document.documentElement.scrollLeft:水平方向

          放入監(jiān)聽事件后就可以在鼠標滑輪滾動時給一些元素設置浮動樣式

          如頭條號的發(fā)表文章界面:

          下滑前

          下滑后

          標位置 可視區(qū)位置:clientX、clientY

          滾動條的意義——可視區(qū)與頁面頂部的距離

          例子1:跟隨鼠標的Div 消除滾動條的影響

          <!DOCTYPE HTML>
          <html>
          <head>
          <meta charset="utf-8">
          <title>無標題文檔</title>
          <style>
          #div1 {width:200px; height:200px; background:red; position:absolute;}
          </style>
          <script>
          function getPos(ev)
          {
          var scrollTop=document.documentElement.scrollTop||document.body.scrollTop;
          var scrollLeft=document.documentElement.scrollLeft||document.body.scrollLeft;
          
          return {x: ev.clientX+scrollLeft, y: ev.clientY+scrollTop}; //消除滾動條的影響
          }
          document.onmousemove=function (ev)
          {
          var oEvent=ev||event;
          var oDiv=document.getElementById('div1');
          var pos=getPos(oEvent);
          
          oDiv.style.left=pos.x+'px';
          oDiv.style.top=pos.y+'px';
          };
          </script>
          </head>
          <body style="height:2000px;">
          <div id="div1"></div>
          </body>
          </html>

          實例2:一串跟隨鼠標的Div

          <!DOCTYPE HTML>
          <html>
          <head>
          <meta charset="utf-8">
          <title>無標題文檔</title>
          <style>
          div {width:10px; height:10px; background:red; position:absolute;}
          </style>
          <script>
          function getPos(ev)
          {
          var scrollTop=document.documentElement.scrollTop||document.body.scrollTop;
          var scrollLeft=document.documentElement.scrollLeft||document.body.scrollLeft;
          
          return {x: ev.clientX+scrollLeft, y: ev.clientY+scrollTop};
          }
          document.onmousemove=function (ev)
          {
          var aDiv=document.getElementsByTagName('div');
          var oEvent=ev||event;
          
          var pos=getPos(oEvent);
          
          for(var i=aDiv.length-1;i>0;i--)
          {
          aDiv[i].style.left=aDiv[i-1].offsetLeft+'px';
          aDiv[i].style.top=aDiv[i-1].offsetTop+'px';
          }
          
          aDiv[0].style.left=pos.x+'px';
          aDiv[0].style.top=pos.y+'px';
          };
          </script>
          </head>
          <body>
          <div></div>
          <div></div>
          <div></div>
          </body>
          </html>

          實例3:屏蔽鼠標右鍵

          方法1:使用鼠標事件的button屬性

          鼠標事件中button的值在各個瀏覽器上大相徑庭,但非常幸運的是按下鼠標右鍵時值都為2;

          <html>
          <head>
          <title>屏蔽鼠標右鍵</title>
          <script language="javascript">
          function block(oEvent){
          if(window.event)
          oEvent = window.event;
          if(oEvent.button == 2)
          alert("鼠標右鍵不可用");
          }
          document.onmousedown = block;
          </script>
          </head>
          <body>
          <p>屏蔽鼠標右鍵</p>
          </body>
          </html>
          Firefox舊版本不支持,經過嚴格測試,最新版本的IE、360、Firefox瀏覽器都已支持
          方法二:(以下火狐和chome瀏覽器不支持,IE和360支持)
          <body oncontextmenu="return false;">
          </body>
          <body oncontextmenu="alert('010-123456789');return false">
          </body>
          <body oncontextmenu="return test()">
          <script>
          function test(){
          alert('010-123456789');
          return false;
          
          </script>
          </body>

          方法三:瀏覽器兼容性最好,不用彈出警告框, 推薦使用

          <html>
          <head>
          <title>屏蔽鼠標右鍵</title>
          <script language="javascript">
          function block(oEvent){
          if(window.event){
          oEvent = window.event;
          oEvent.returnValue = false; //取消默認事件,兼容IE8以下瀏覽器
          }else
          oEvent.preventDefault(); //取消默認事件,兼容標準的DOM瀏覽器,IE9瀏覽器已支持
          }
          document.oncontextmenu = block;
          </script>
          </head>
          <body>
          <p>屏蔽鼠標右鍵</p>
          </body>
          </html>

          自定義鼠標右鍵


          主站蜘蛛池模板: 亚洲综合无码一区二区| asmr国产一区在线| 亚洲AV无码一区二区一二区| 亚洲国产成人一区二区三区 | 精品无码成人片一区二区98 | 久久综合一区二区无码| 中文字幕人妻丝袜乱一区三区 | 欧洲无码一区二区三区在线观看 | 99精品国产高清一区二区三区| 91视频国产一区| 极品尤物一区二区三区| 国产av福利一区二区三巨| 日本一区二区三区免费高清在线| 亚洲国模精品一区| 色精品一区二区三区| 后入内射国产一区二区| 在线成人一区二区| 激情综合一区二区三区| 无码人妻久久一区二区三区蜜桃| 精品久久一区二区| 国产日韩AV免费无码一区二区| 国产日韩AV免费无码一区二区三区 | 无码人妻一区二区三区免费看| 无码欧精品亚洲日韩一区夜夜嗨 | 无码精品久久一区二区三区| 色综合视频一区二区三区| 精品国产福利一区二区| 一区二区三区精品| 精品91一区二区三区| 国产激情无码一区二区app| 日韩人妻不卡一区二区三区 | 在线免费一区二区| 一区二区三区www| 国产精品第一区揄拍| 无人码一区二区三区视频| 无码日韩人妻AV一区免费l| 久久一区二区三区精品| 国产精品一区二区电影| 性色av一区二区三区夜夜嗨| 91视频一区二区| 秋霞午夜一区二区|