<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
        主站蜘蛛池模板: 久久精品国产亚洲av成人| 亚洲欧洲日产国码av系列天堂 | 亚洲熟女www一区二区三区| 18女人腿打开无遮掩免费| 久久久久亚洲av无码尤物| 久久九九全国免费| 久久久久亚洲av无码专区导航| 91福利免费网站在线观看| 亚洲日韩乱码中文无码蜜桃臀网站 | 亚洲色四在线视频观看| 麻豆成人久久精品二区三区免费| 亚洲AV天天做在线观看| 久视频精品免费观看99| 中文字幕无码亚洲欧洲日韩| 免费无码一区二区三区蜜桃大 | 国产高清视频免费在线观看| 亚洲人成人无码网www电影首页| 十八禁视频在线观看免费无码无遮挡骂过 | 亚洲无线电影官网| 亚洲精品免费网站| 精品久久亚洲一级α| 亚洲中文字幕丝袜制服一区| 成人久久免费网站| 亚洲国产视频一区| 亚洲成a人片在线观看日本麻豆 | 黄页网站在线观看免费| 久久久久亚洲av毛片大| 99视频有精品视频免费观看| 亚洲美国产亚洲AV| 国产亚洲成归v人片在线观看 | 亚洲国产日韩在线成人蜜芽| 在线看片人成视频免费无遮挡| 男女猛烈无遮掩视频免费软件| 亚洲免费观看视频| 91在线视频免费看| 国产免费牲交视频免费播放| 亚洲无人区视频大全| 免费少妇a级毛片| 亚洲av日韩综合一区久热| 综合久久久久久中文字幕亚洲国产国产综合一区首 | 精品国产综合成人亚洲区|