JS事件在IE与FF中的区别
来源:互联网 发布:测试apm的软件 编辑:程序博客网 时间:2024/06/16 07:10
之道的易搜项目中的搜索分类是通过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浏览器时候不能使用你幸苦开发的功能了。
- JS事件在IE与FF中的区别
- JS事件在IE与FF中的区别
- *windows.event对象在ie与ff中的区别**
- Js event事件在IE、FF兼容性问题
- css在IE和FF中的区别
- ie 与 ff 区别
- IE与FF区别
- js radio checkbox onchange事件在IE与FF的处理
- window.event对像和在ie与ff中的区别
- 比较全面的event对像在IE与FF中的区别 推荐
- window.event对像和在ie与ff中的区别
- 引用 js在IE和FF的区别
- IE、FF、Chrome中的JS
- JS捕获按键在IE,FF,CHROME中的应用
- date.parse在IE和FF中的区别
- date.parse在IE和FF中的区别
- 浅谈Css盒模型在FF和IE中的区别
- IE 与 FF JS兼容
- C#中的@符号
- 扩展GridView控件(1) - 鼠标经过行时改变行的样式
- FilterDispatcher原理
- 扩展GridView控件(2) - 复合排序和排序状态提示
- 扩展GridView控件(3) - 根据按钮的CommandName设置其客户端属性
- JS事件在IE与FF中的区别
- IE和ff对javascript的解释的区别
- 扩展GridView控件(4) - 联动复选框(复选框的全选和取消全选)
- 系统架构的设计
- 扩展GridView控件(5) - 固定指定行、指定列
- 扩展GridView控件(6) - 响应行的单击事件和双击事件
- Struts2 web.xml配置
- struts2 struts.properties配置
- 扩展GridView控件(7) - 行的指定复选框选中时改变行的样式