当前位置:首页 > JavaScript 笔记 > JS中event事件在兼容IE、火狐(Firefox)处理办法

JS中event事件在兼容IE、火狐(Firefox)处理办法

snuday15年前 (2011-05-25)JavaScript 笔记1157

前期用到了一个键盘左右键控制翻页的js,在ie里面直接就可以使用,可在火狐(firefox)里面就是不好使,想了半天怎么也不可能不好使呀,所以找了多方资料才知道,原来火狐对于js中event事件不解析,必须要转换到函数里面在调用出来,唉,本来挺简单的两句代码,现在要多加个函数,但是考虑到火狐,也只好忍了~~~

<script>
/*firefox*/
function __firefox(){
HTMLElement.prototype.__defineGetter__("runtimeStyle", __element_style);
window.constructor.prototype.__defineGetter__("event", __window_event);
Event.prototype.__defineGetter__("srcElement", __event_srcElement);
}
function __element_style(){
return this.style;
}
function __window_event(){
return __window_event_constructor();
}
function __event_srcElement(){
return this.target;
}
function __window_event_constructor(){
if(document.all){
return window.event;
}
var _caller = __window_event_constructor.caller;
while(_caller!=null){
var _argument = _caller.arguments[0];
if(_argument){
var _temp = _argument.constructor;
if(_temp.toString().indexOf("Event")!=-1){
return _argument;
}
}
_caller = _caller.caller;
}
return null;
}
if(window.addEventListener){
__firefox();
}
/*end firefox*/
</script>

以上为兼容火狐Firefox的js部分,下面是真正的翻页部分:

<SCRIPT>
<!--
document.onkeyup=function()
{
if(event.keyCode==37)window.location.href=document.getElementById("up").href;
if(event.keyCode==39)window.location.href=document.getElementById("down").href;
}

-->
</SCRIPT>


相关文章

50条网页制作小技巧集锦

控制横向和纵向滚动条的显隐?<body style="overflow-y:hidden"> 去掉x轴<body style="overflow-x:h...

window.open 居中显示__ 绝对好用,不妨试试~~

<script type="text/javascript">function openwindow(url,name,iWidth,iHeight){ &n...

zend optimizer之php加速器forIIS安装实例

zend optimizer之php加速器forIIS安装实例

windows2003服务器配置IIS6.0+PHP+Mysql+Zend环境组建[图文]Win2003IIS6.0+PHP+Mysql+Zend+环境组建 相关软件如下: 操作系统:Windows...

同页面多个JS冲突一般性解决方法+EcShop JS一般性总结(1)

1、一般JS冲突解决办法a.最容易出现的就是JS 的命名冲突①、变量名冲突变量有全局变量和局部变量当全局变量变量和局部变量名称一致时,就会js冲突,由于变量传递数值或地址不同就会产生JavaScrip...

jquery与其他js文件中变量冲突,解决方法

jQuery 使用 $ 符号作为 jQuery 的简介方式。某些其他 JavaScript 库中的函数(比如 Prototype)同样使用 $ 符号。jQuery 使用名为 noConflict()...

代理不求人_(自己动手)IE代理服务器设置

代理不求人_(自己动手)IE代理服务器设置

建议大家使用韩国或者日本的代理服务器,欧洲的代理服务器速度可能会比韩国日本的要慢,代理服务器的设置方法,对于IE和FireFox设置略有不同。  IE的设置是这样的,打开IE浏览器,选择菜单栏的&ld...