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

首頁 > 語言 > JavaScript > 正文

JS事件在IE與FF中的區別詳細解析

2024-05-06 15:55:41
字體:
來源:轉載
供稿:網友
這篇文章主要是對JS事件在IE與FF中的區別進行了詳細的分析介紹,需要的朋友可以過來參考下,希望對大家有所幫助

之道的易搜項目中的搜索分類是通過JS動態生成的,每個生成的元素都要動態的添加屬性、事件。其中,添加屬性可以采用賦值的方式,這對IE和FF都是適用的。比如:

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

     element.id = "myselect";

上面的語句在IE和FF中都會有同樣的效果,并且運行正常。但是我們創建的元素,大部分是要給其動態添加事件的,顯然,我們不能和添加屬性一樣,直接在后面打個dot,然后寫個事件名,然后后面跟著一串代碼,那樣是會報錯的。所以我們可以采用如下的方法來添加事件:

首先:我們要判斷當前的瀏覽器是什么瀏覽器,我們仍然延用之前的定義,

   if( element.attachEvent ){

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

   }else if( element.addEventListener){

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

   }

上面的if語句塊就是幫我們完成當前瀏覽器是IE還是FF的判斷。

瀏覽器判斷出來,然后我們要做的就是把函數注冊到元素里面。下面我們給出我們定義的一個功能函數:

   function showElementId(elmt){

     alert(elmt.id);

   }

函數功能很簡單,就是提示出參數里面的元素的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);

因為在FF中給元素注冊事件的時候,不需要事件名稱前面的“on”,所以要把on給替換掉。

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 灵川县| 武胜县| 泰兴市| 惠来县| 蛟河市| 陇南市| 延寿县| 拉孜县| 磐安县| 鄱阳县| 仙桃市| 蒲江县| 天峨县| 罗定市| 伽师县| 阿勒泰市| 岳普湖县| 浠水县| 玉田县| 汉中市| 上杭县| 砚山县| 镇平县| 东乡| 星子县| 保靖县| 柯坪县| 织金县| 错那县| 荔浦县| 金山区| 泰宁县| 抚顺市| 平舆县| 乌兰县| 西华县| 芜湖县| 绥宁县| 岐山县| 陇南市| 白沙|