JS事件在IE与FF中的区别是什么?IE与FF详细解析

2024-06-24 10:33:57阅读量:38 字体:

之道的易搜项目中的搜索分类是通过JS动态生成的,每个生成的元素都要动态的添加属性、事件。其中,添加属性可以采用赋值的方式,这对IE和FF都是适用的。

JS事件在IE与FF中的区别是什么?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浏览器时候不能使用你幸苦开发的功能了。


推荐阅读

  • qq音乐删除访问记录别人能看见吗

    qq音乐删除访问记录别人能看见吗

    qq音乐删除了访问记录别人是不能看到的,可以在访客功能中删除访问记录,通过以下步骤删除qq音乐访问记录: qq音乐删除访问记录别人能看见吗 1、打开qq音乐,切换到个人中心,点击头像”进入...

    阅读: 809

  • 新加好友怎么才能分享屏幕

    新加好友怎么才能分享屏幕

    qq聊天中自带有分享屏幕的功能,只要加了好友,直接点击分享屏幕就可以将屏幕分享给对方。具体操作方法如下: 新加好友怎么才能分享屏幕 1.在qq中找到要分享屏幕的好友,点击进入对话界面。 2.点击对话...

    阅读: 892

  • 手机锁屏微信语音视频没有提示声音

    手机锁屏微信语音视频没有提示声音

    手机锁屏微信语音视频没有提示声音可能是关闭了,接收语音和视频通话邀请提醒,如果关闭了就不会有提醒,可以通过设置重新开启这个功能,具体操作步骤如下: 手机锁屏微信语音视频没有提示声音 1、打开微信app...

    阅读: 900

  • 荣耀60声音小怎么办

    荣耀60声音小怎么办

    如果荣耀60手机的声音比较小的话,可以去系统内进行相应的调整,把手机的声音调大,具体的操作步骤如下: 荣耀60声音小怎么办 1、打开手机的设置,点击声音和振动”按钮,进入声音和振动的设置页...

    阅读: 985

  • ipad pro怎么录屏

    ipad pro怎么录屏

    ipad pro设备有录屏的功能,有需要的用户可以去手机的控制中心内打开按键进行录屏,具体的操作步骤如下: ipad pro怎么录屏 1、进入手机的桌面中,从手机屏幕的右上角往下滑,呼出控制中心的界面...

    阅读: 1046

  • 苹果平板如何隐藏app软件

    苹果平板如何隐藏app软件

    苹果平板没有隐藏app软件的功能,但是可以把app下载到资源库中,这样就不会显示在平板的桌面上,操作方法如下: 苹果平板如何隐藏app软件 1、打开平板的设置,点击主屏幕”按钮,进入主屏幕...

    阅读: 870