茄子在线看片免费人成视频,午夜福利精品a在线观看,国产高清自产拍在线观看,久久综合久久狠狠综合

    <s id="ddbnn"></s>
  • <sub id="ddbnn"><ol id="ddbnn"></ol></sub>

  • <legend id="ddbnn"></legend><s id="ddbnn"></s>

    js事件處理程序跨瀏覽器解決方案
    來源:易賢網(wǎng) 閱讀:896 次 日期:2016-07-15 16:25:50
    溫馨提示:易賢網(wǎng)小編為您整理了“js事件處理程序跨瀏覽器解決方案”,方便廣大網(wǎng)友查閱!

    本文實(shí)例為大家分享了js事件處理程序跨瀏覽器解決方案,供大家參考,具體內(nèi)容如下

    <!DOCTYPE html>

    <html>

    <head>

    <meta charset="utf-8" />

    <title></title>

    </head>

    <body>

    <div>

      <input type="button" id="button1" value="按鈕" />

    </div>

    <script type="text/javascript">

      function show(){

        alert("Hello world!");

      }

      //聲明一個(gè)對(duì)象

      var eventUtil={

      //添加句柄

        addHandler:function(element,type,handler){

      //DOM2級(jí)事件處理判斷

        if(element.addEventListener){

          element.addEventListener(type,handler,false);

        }else if(element.attachEvent){//IE事件處理判斷

          element.attachEvent('on'+type,handler);

        }else{//DOM0級(jí)事件判斷

          element['on'+type]=handler;

        }

      },

      //刪除句柄

      removeHandler:function(element,type,handler){

      //DOM2級(jí)事件處理判斷

      if(element.removeEventListener){

        elememt.removeEventListener(type,handler,false);

      }else if(element.detachEvent){//IE事件處理判斷

        element.detachEvent('on'+type,handler);

      }else{//DOM0級(jí)事件判斷

        element['on'+type]=null;

        }

      }

    }

      eventUtil.addHandler(button3,'click',show);

    </script>

    </body>

    </html>

    再為大家分享js原生事件處理跨瀏覽器的代碼:

    //跨瀏覽器的事件處理器添加方式

    var EventUtil = {

      addHandler : function(elem, type, handler){

        if(elem.addEventListener){

          elem.addEventListener(type, handler, false);

        }

        else if(elem.attachEvent){

          elem.attachEvent("on" + type, handler);//添加多個(gè)同一類型的handler時(shí),IE方式的規(guī)則是最后添加的最先觸發(fā)

        }

        else{

          if(typeof elem["on" + type] === 'function'){

            var oldHandler = elem["on" + type];

            elem["on" + type] = function(){

              oldHandler();

              handler();

            }

          }

          else{

            elem["on" + type] = handler;//支持添加多個(gè)事件處理器

          }

        }

      },

      getEvent : function(event){

        return event ? event : window.event;

      },

      getTarget : function(event){

        return event.target || event.srcElement;

      },

      preventDefault : function(event){

        if(event.preventDefault){

          event.preventDefault();

        }

        else{

          event.returnValue = false;

        }

      },

      removeHandler : function(elem, type, handler){

        if(elem.removeEventListener){

          elem.removeEventListener(type, handler, false);

        }

        else if(elem.detachEvent){

          elem.detachEvent("on" + type, handler);

        }

        else{

          elem["on" + type] = null;//不支持移除單一事件處理器,只能全部移除

        }

      },

      stopPropagation : function(event){

        if(event.stopPropagation){

          event.stopPropagation();

        }

        else{

          event.cancelBubble = true;

        }

      },

      getRelatedTarget : function(event){

        if(event.relatedTarget){

          return event.relatedTarget;

        }

        else if(event.toElement && event.type == "mouseout"){

          return event.toElement;

        }

        else if(event.fromElement && event.type == "mouseover"){

          return event.fromElement;

        }

        else{

          return null;

        }

      },

      /*IE8點(diǎn)擊左鍵和中鍵都是0;FF無法識(shí)別中鍵;Chrome正常*/

      getButton : function(event){//返回0,1,2 - 左,中,右

        if(document.implementation.hasFeature("MouseEvents", "2.0")){

          return event.button;

        }

        else{

          switch(event.button){

            case 0:case 1:case 3:case 5:case 7:

              return 0;

              break;

            case 2:case 6:

              return 2;

              break;

            case 4:

              return 1;

              break;

            default:

              break;

          }

        }

      },

      /*只能檢測(cè)keypress事件,返回值等于將要顯示的字符編碼*/

      /*IE和Chrome只有能顯示的字符鍵才觸發(fā),F(xiàn)F其它鍵也能觸發(fā),返回值為0*/

      getCharCode : function(event){

        if(typeof event.charCode == "number"){

          return event.charCode;

        }

        else{

          return event.keyCode;

        }

      }

    };

    以上就是本文的全部?jī)?nèi)容,希望對(duì)大家解決js事件處理程序跨瀏覽器有所幫助。

    更多信息請(qǐng)查看網(wǎng)絡(luò)編程
    易賢網(wǎng)手機(jī)網(wǎng)站地址:js事件處理程序跨瀏覽器解決方案
    由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請(qǐng)考生以權(quán)威部門公布的正式信息和咨詢?yōu)闇?zhǔn)!

    2026上岸·考公考編培訓(xùn)報(bào)班

    • 報(bào)班類型
    • 姓名
    • 手機(jī)號(hào)
    • 驗(yàn)證碼
    關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡(jiǎn)要咨詢 | 簡(jiǎn)要咨詢須知 | 新媒體/短視頻平臺(tái) | 手機(jī)站點(diǎn) | 投訴建議
    工業(yè)和信息化部備案號(hào):滇ICP備2023014141號(hào)-1 云南省教育廳備案號(hào):云教ICP備0901021 滇公網(wǎng)安備53010202001879號(hào) 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號(hào)
    云南網(wǎng)警備案專用圖標(biāo)
    聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關(guān)注公眾號(hào):hfpxwx
    咨詢QQ:1093837350(9:00—18:00)版權(quán)所有:易賢網(wǎng)
    云南網(wǎng)警報(bào)警專用圖標(biāo)