国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > JavaScript > 正文

JS事件在IE與FF中的區(qū)別詳細(xì)解析

2019-11-20 21:38:58
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

之道的易搜項(xiàng)目中的搜索分類是通過(guò)JS動(dòng)態(tài)生成的,每個(gè)生成的元素都要?jiǎng)討B(tài)的添加屬性、事件。其中,添加屬性可以采用賦值的方式,這對(duì)IE和FF都是適用的。比如:

     var element = document.createElement('select');

     element.id = "myselect";

上面的語(yǔ)句在IE和FF中都會(huì)有同樣的效果,并且運(yùn)行正常。但是我們創(chuàng)建的元素,大部分是要給其動(dòng)態(tài)添加事件的,顯然,我們不能和添加屬性一樣,直接在后面打個(gè)dot,然后寫個(gè)事件名,然后后面跟著一串代碼,那樣是會(huì)報(bào)錯(cuò)的。所以我們可以采用如下的方法來(lái)添加事件:

首先:我們要判斷當(dāng)前的瀏覽器是什么瀏覽器,我們?nèi)匀谎佑弥暗亩x,

   if( element.attachEvent ){

    //為IE以及IE內(nèi)核的瀏覽器(1)

   }else if( element.addEventListener){

     //為FF以及NS內(nèi)核的瀏覽器(2)

   }

上面的if語(yǔ)句塊就是幫我們完成當(dāng)前瀏覽器是IE還是FF的判斷。

瀏覽器判斷出來(lái),然后我們要做的就是把函數(shù)注冊(cè)到元素里面。下面我們給出我們定義的一個(gè)功能函數(shù):

   function showElementId(elmt){

     alert(elmt.id);

   }

函數(shù)功能很簡(jiǎn)單,就是提示出參數(shù)里面的元素的ID。

如果是IE瀏覽器,我們把如下代碼插入到上面的注釋(1)處:

element.attachEvent( "onclick",function(){showElementId(elmt)});

如果是FF瀏覽器,我們把如下代碼插入到上面的注釋(2)處:

var eventName = "onclick".replace(/on(.*)/i,'$1');
element.addEventListener( eventName,function(){showElementId(elmt)},false);

因?yàn)樵贔F中給元素注冊(cè)事件的時(shí)候,不需要事件名稱前面的“on”,所以要把on給替換掉。

好啦,如果今后各位同行在開(kāi)發(fā)項(xiàng)目中,遇到要用JS動(dòng)態(tài)給元素添加事件的時(shí)候,就可以采用上面的方法。那樣就可以避免用戶在用FF瀏覽器時(shí)候不能使用你幸苦開(kāi)發(fā)的功能了。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 玉龙| 天镇县| 前郭尔| 东方市| 洞口县| 广元市| 保亭| 定襄县| 孙吴县| 洱源县| 专栏| 勐海县| 神农架林区| 大荔县| 施甸县| 丰镇市| 建宁县| 潞城市| 沐川县| 交口县| 石河子市| 潍坊市| 来宾市| 兴海县| 东台市| 汝南县| 乐清市| 淳安县| 右玉县| 大同市| 龙里县| 平果县| 贵溪市| 昌黎县| 邓州市| 正安县| 广汉市| 马边| 忻城县| 古田县| 鹿泉市|