<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當(dāng)前位置: 首頁 - 科技 - 知識百科 - 正文

        javascript跨平臺事件定義和用法實(shí)例詳解

        來源:懂視網(wǎng) 責(zé)編:小采 時間:2020-11-27 20:15:23
        文檔

        javascript跨平臺事件定義和用法實(shí)例詳解

        javascript跨平臺事件定義和用法實(shí)例詳解:跨平臺事件什么叫跨平臺事件?即在不同的瀏覽器上執(zhí)行同一事件,所使用的方法不同。什么是EventUtil對象?有什么作用?即將所有與事件相關(guān)的函數(shù),融合在一起的一個容器,方便管理事件對象,它沒有屬性。主要處理DOM事件和IE事件的磨合,使其盡可能的相似。下
        推薦度:
        導(dǎo)讀javascript跨平臺事件定義和用法實(shí)例詳解:跨平臺事件什么叫跨平臺事件?即在不同的瀏覽器上執(zhí)行同一事件,所使用的方法不同。什么是EventUtil對象?有什么作用?即將所有與事件相關(guān)的函數(shù),融合在一起的一個容器,方便管理事件對象,它沒有屬性。主要處理DOM事件和IE事件的磨合,使其盡可能的相似。下

        跨平臺事件

        什么叫跨平臺事件?即在不同的瀏覽器上執(zhí)行同一事件,所使用的方法不同。

        什么是EventUtil對象?有什么作用?即將所有與事件相關(guān)的函數(shù),融合在一起的一個容器,方便管理事件對象,它沒有屬性。主要處理DOM事件和IE事件的磨合,使其盡可能的相似。

        下面我們來看一下DOM和IE之間的對象屬性和方法做個對比(這里只指出兩者之間不同的屬性和方法),主要有以下五大點(diǎn):
        DOM屬性和方法 IE屬性和方法
        charcode keycode
        preventDefault returnValue=false
        relatedTarget fromobj|toobj
        stopPropation cancelBuble=true
        target srcobj

        我們用一個小demo看一下,能夠很好的解決事件跨平臺的兼容問題:

        <html>
        <head>
         <title>eventUtil</title>
         <script eventType="text/javascript">
         var eventUtil = {
         //監(jiān)聽事件
         addListener: function(obj, eventType, fn) {
         if (obj.addEventListener) {
         obj.addEventListener(eventType, fn, false);
         } else if (obj.attachEvent) {
         obj.attachEvent('on' + eventType, fn);
         } else {
         obj['on' + eventType] = fn;
         }
         },
         //返回event對象
         getEvent: function(event) {
         return event || window.event;
         //return event ? event : window.event;
         },
         //返回目標(biāo)事件對象
         getTarget: function(event) {
         return event.target || event.srcobj;
         },
         preventDefault: function(event) {
         if (event.preventDefault) {
         event.preventDefault();
         } else {
         event.returnValue = false;
         }
         }, 
         removeListener: function(obj, eventType, fn) {
         if (obj.removeEventListener) {
         obj.removeEventListener(eventType, fn, false);
         } else if (obj.deattachEvent) {
         obj.detachEvent(eventType, fn);
         } else {
         obj['on' + eventType] = null;
         }
         },
         
         stopPropagation: function(event) {
         if (event.stopPropagation) {
         event.stopPropagation();
         } else {
         event.cancelBubble = true;
         }
         }
         };
         </script>
        </head>
        <body>
         <input eventType="button" value="click me" id="btn" />
         <p>event</p>
         <a>Hello word!</a>
         <script eventType="text/javascript">
         function addBtnListen(event)
         {
         var event = eventUtil.getEvent(event);
         var target = eventUtil.getTarget(event);
         alert("my name is kock");
         alert(event.eventType);
         alert(target);
         eventUtil.stopPropagation(event);
        
         }
         function getBodyListen(event)
         {
         alert("click body");
         }
         function getLinkListen(event)
         {
         alert("prevent default event");
         var event = eventUtil.getEvent(event);
         eventUtil.preventDefault(event);
         }
         window.onload=function()
         {
         var btn = document.getobjById("btn");
         var link = document.getobjsByTagName("a")[0];
         eventUtil.addListener(btn, "click", addBtnListen);
         eventUtil.addListener(document.body, "click", getBodyListen);
         eventUtil.addListener(link, "click",getLinkListen);
         } 
        </script>
        </body>
        </html>

        上面的方法能夠解決事件跨平臺問題,接下來,我們看下charCode的屬性。

        首先給eventUtil定義一個新方法,formatEvent,接受一個參數(shù),即Event對象。

        聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        javascript跨平臺事件定義和用法實(shí)例詳解

        javascript跨平臺事件定義和用法實(shí)例詳解:跨平臺事件什么叫跨平臺事件?即在不同的瀏覽器上執(zhí)行同一事件,所使用的方法不同。什么是EventUtil對象?有什么作用?即將所有與事件相關(guān)的函數(shù),融合在一起的一個容器,方便管理事件對象,它沒有屬性。主要處理DOM事件和IE事件的磨合,使其盡可能的相似。下
        推薦度:
        標(biāo)簽: 使用 用法 事件
        • 熱門焦點(diǎn)

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 国产亚洲人成无码网在线观看| 搡女人真爽免费视频大全| 久久精品夜色噜噜亚洲A∨| 看全免费的一级毛片| 国产成人精品男人免费| 国产成人va亚洲电影| 亚洲国产精品狼友中文久久久| 一级做a爱过程免费视| 亚洲女人被黑人巨大进入| 72pao国产成视频永久免费| 一本色道久久综合亚洲精品| 一级毛片免费在线播放| 亚洲精品卡2卡3卡4卡5卡区| 亚在线观看免费视频入口| 色在线亚洲视频www| 日本一道综合久久aⅴ免费| 日韩精品免费一线在线观看| 亚洲中文字幕成人在线| 久久久精品免费视频| 亚洲综合久久精品无码色欲| 国产美女无遮挡免费视频| 一个人免费观看www视频| 亚洲AV无码一区二区二三区软件 | 国产亚洲福利一区二区免费看 | 日本亚洲欧洲免费天堂午夜看片女人员| 亚洲精品福利视频| 国产成人A在线观看视频免费| 男男gvh肉在线观看免费| 久久精品国产亚洲一区二区| 三年片在线观看免费大全| 免费人人潮人人爽一区二区| 亚洲AV无码专区国产乱码电影 | 成人毛片免费在线观看| 一级毛片在播放免费| 亚洲第一页中文字幕| 国产精品色午夜免费视频| 国产免费无码一区二区| 最新亚洲精品国偷自产在线| 国产亚洲精品资在线| 一二三四免费观看在线电影 | 在线成人爽a毛片免费软件|