日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > HTML >内容正文

HTML

event 对象兼容火狐、谷歌、ie浏览器问题

發布時間:2024/1/1 HTML 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 event 对象兼容火狐、谷歌、ie浏览器问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

? ? ? ? 項目中遇到這樣一個業務需求:給動態生成的頁面元素(input、div、checkbox等)添加事件,業務實現的難點在于:動態生成的頁面元素的id、name都是按一定規則賦值的(例如:input1、input2..),那么給這些元素添加事件需要獲取到動態生成元素的id或name屬性值,根據屬性值取到元素對象然后添加事件。

? ? ? ? ? ? 經過以上分析不難看出:難點就在于取得動態生成元素的id、name屬性值,給元素添加事件應該很容易辦到,這時js中一個重要的對象event 該隆重出場了。

? ? ? ? 事件發生的過程中 event對象才生效,event對象有很對屬性:例如觸發event對象的元素、鼠標的位置及狀態、按下的鍵等等。 event的某些屬性只對特定的事件有意義。比如,fromElement?和?toElement?屬性只對?onmouseover?和?onmouseout?事件有意義。 具體event 的對象的眾多屬性在此就不做詳細的介紹,網上關于event屬性介紹的帖子很多。

? ? ? ? ?獲取當前觸發事件的頁面元素 使用event的target和srcElement 屬性,srcElement 在ie中使用,target在firefox中使用,chrome瀏覽器同時具有這兩個屬性,但據我個人測試,target屬性在ie10中也可以使用了(ie其他版本沒有測試),這樣如果我要獲取觸發事件的元素的屬性值就可以搞定了:

? ? ? ? ?var name_val = event.target.name;

? ? ? ? ?var id_val = event.target.id;

? ? ? ? ?但是問題出現了:在火狐瀏覽器中不能直接用event對象,瀏覽器無法根據當前觸發的事件獲取event對象。解決方法有這么幾種:

? ? ? ? (1)調用事件方法時添加參數event(參數名稱必須為event,其他名稱不可以),例如: function aa(event){........} ,元素:<input type="text" οnclick="aa(event)"></input>

? ? ? ? ? (2)使用函數 ??arguments.callee.caller.arguments[0] 獲取event對象,使用這種方法不需要在函數中聲明event參數,可以直接使用,而且在火狐瀏覽器中有效

? ? ? ? ?(3)為火狐瀏覽器聲明可以直接調用的event對象:

? ? ? ? ?

  • /*
  • 判斷瀏覽器名稱和版本
  • 目前只能判斷:ie/firefox/chrome/opera/safari
  • 2012年5月16日23:47:08
  • 瀏覽器內核名稱:NV.name;
  • 瀏覽器內核版本:NV.version;
  • 瀏覽器外殼名稱:NV.shell;
  • */
  • var NV = {};
  • var UA = navigator.userAgent.toLowerCase();
  • try{NV.name=!-[1,]?'ie':(UA.indexOf("firefox")>0)?'firefox':(UA.indexOf("chrome")>0)?'chrome':window.opera?'opera':window.openDatabase?'safari':'unkonw';}catch(e){};
  • try{NV.version=(NV.name=='ie')?UA.match(/msie ([\d.]+)/)[1]:(NV.name=='firefox')?UA.match(/firefox\/([\d.]+)/)[1]:(NV.name=='chrome')?UA.match(/chrome\/([\d.]+)/)[1]:(NV.name=='opera')?UA.match(/opera.([\d.]+)/)[1]:(NV.name=='safari')?UA.match(/version\/([\d.]+)/)[1]:'0';}catch(e){};
  • try{NV.shell=(UA.indexOf('360ee')>-1)?'360極速瀏覽器':(UA.indexOf('360se')>-1)?'360安全瀏覽器':(UA.indexOf('se')>-1)?'搜狗瀏覽器':(UA.indexOf('aoyou')>-1)?'遨游瀏覽器':(UA.indexOf('theworld')>-1)?'世界之窗瀏覽器':(UA.indexOf('worldchrome')>-1)?'世界之窗極速瀏覽器':(UA.indexOf('greenbrowser')>-1)?'綠色瀏覽器':(UA.indexOf('qqbrowser')>-1)?'QQ瀏覽器':(UA.indexOf('baidu')>-1)?'百度瀏覽器':(UA.indexOf('360se')>-1)?'':'未知或無殼';}catch(e){}
  • /*
  • 給火狐添加event屬性。
  • */
  • if(NV.name=='firefox')
  • {
  • var $E = function(){var c=$E.caller; while(c.caller)c=c.caller; return c.arguments[0]};
  • __defineGetter__("event", $E);
  • }
  • ?
  • (引用:http://qianduanblog.com/874.html)
  • ?

    ? ? ? ? ?

    具體項目中的應用代碼是這樣的:

    for ( var m = 1; m <= 5; m++) {
    $("#startTime" + m).blur(
    function() {
    ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? var e = arguments.callee.caller.arguments[0] || window.event;?
    var idVal = e.target.id;

    var startTime_ = $("#" + idVal).val();
    var timePart = $('#dutyPart').val();
    if (startTime_ != null && startTime_ != ""
    && startTime_ != undefined && timePart != 0) {
    autoInitStartAndOffTime(idVal, startTime_, timePart);
    }
    });

    $("#endTime" + m).blur(
    function() {
    var e = arguments.callee.caller.arguments[0] || window.event;
    var idVal = e.target.id;

    var endTime_ = $("#" + idVal).val();
    var timePart = $('#dutyPart').val();
    if (endTime_ != null && endTime_ != ""
    && endTime_ != undefined && timePart != 0) {
    autoInitStartAndOffTime(idVal, endTime_, timePart);
    }
    });
    }

    ? ? ? ?這樣就實現了event 瀏覽器的兼容問題。

    ? ? ? ? ? ??

    總結

    以上是生活随笔為你收集整理的event 对象兼容火狐、谷歌、ie浏览器问题的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 精品动漫一区二区三区的观看方式 | 国产精品久久久爽爽爽麻豆色哟哟 | 欧美综合日韩 | 特黄aaaaaaaaa毛片免费视频 | 亚洲视频免费播放 | 97人人干 | 久草免费在线观看视频 | 欧美日韩啪啪 | 日韩 欧美 亚洲 国产 | 雪花飘电影在线观看免费高清 | 国产精品第四页 | av在线超碰 | 国产欧美一区二区三区在线老狼 | 午夜免费福利网站 | 国产av一区二区不卡 | 邵氏电影《金莲外传2》免费观看 | 婷婷一级片 | 国产精品尤物 | 男男黄网站 | 在线视频精品一区 | 国产高清亚洲 | 高级毛片 | 91亚洲精品一区二区乱码 | 开心激情久久 | 能免费看18视频网站 | 久久小视频 | 午夜精品视频在线 | 91丨porny丨尤物 | 国产精品不卡av | 亚洲gay视频 | 欧美xx孕妇 | 密臀av| 五月婷婷狠狠爱 | 国产精品一区二区久久毛片 | 亚洲人午夜精品 | 亚洲日本精品 | 天天草天天射 | 在线播放亚洲精品 | 中文av免费观看 | 欧美性视频一区二区三区 | 色婷婷精品国产一区二区三区 | www视频在线免费观看 | aⅴ在线免费观看 | 四虎影院在线视频 | 99精品网 | 国产男人天堂 | 亚洲精品福利 | 手机福利在线 | 精品久久久久久久久久久久久久 | 91婷婷色 | 肉色欧美久久久久久久免费看 | 黄色福利在线观看 | 亚洲自拍av在线 | 久久久18禁一区二区三区精品 | exo妈妈mv在线播放高清免费 | 91精品国产高清 | 91中文字幕在线视频 | 国产aⅴ爽av久久久久成人 | 91国内精品野花午夜精品 | 在线免费色 | 高清乱码毛片入口 | 三级艳丽杨钰莹三级 | 我要看免费黄色片 | 免费成人美女女 | 成人视屏在线观看 | 香蕉视频国产在线观看 | 最新中文字幕av专区 | 日韩毛片在线观看 | 久久成人网18网站 | 亚洲成人中文字幕 | 国产精品欧美激情在线播放 | 国产人成视频在线观看 | 国产伦精品一区二区三区在线观看 | 国产精品免费看片 | 欧美精品成人在线 | 日韩av在线影院 | 久久久99精品免费观看 | 日韩一级片中文字幕 | 中文字幕在线播放一区二区 | 在线色资源 | 日本一区二区三区欧美 | 狠狠做| 一本一道久久综合狠狠老精东影业 | 欧美人妻一区二区三区 | 精品在线视频播放 | 日韩中文字幕网站 | 亚洲中文字幕无码不卡电影 | 99热免费在线 | 欧美性色网站 | 亚洲成人av免费在线观看 | 亚洲一区二区三区欧美 | 久久中文字幕一区 | 中文字幕爱爱 | 99精品福利视频 | 精品国产午夜福利 | 热热热热色 | 好吊色网站 | 亚洲精品一区二区 | 黄色大片免费在线观看 |