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

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

snuday14年前 (2011-05-25)JavaScript 笔记103

前期用到了一个键盘左右键控制翻页的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>


相关文章

桌面项目的常规中没有IE了

这一改动将包含在 Windows XP SP3 中。--------------------------------------------------------------------------...

discuz {BOARDLOGO} 等系统标签修改目录

默认就是你论坛的名称。如果你还想修改成其他的,你可以编辑include\cache.func.php找到:$data['boardlogo'] = image($data['boardimg'], $...

IE6 png 透明 (三种解决方法)

FF和IE7已经直接支持透明的png图了,下面这个主要是解决IE6下透明PNG图片有灰底的=======================================================...

Internet Explorer 6 Bugs 解决方法

1、终极方法:条件注释<!--[if lte IE 6]> 这段文字仅显示在 IE6及IE6以下版本。 <![endif]--><!--[if gte IE 6]>...

CSS完美兼容IE6/IE7/FF的通用方法

关于CSS对各个浏览器兼容已经是老生常谈的问题了, 网络上的教程遍地都是.以下内容没有太多新颖, 纯属个人总结, 希望能对初学者有一定的帮助.一、CSS HACK 以下两种方法几乎能解决现今所有HAC...

phpcms2008_标题列表_分隔效果

phpcms2008_标题列表_分隔效果

现在用phpcms2008默认模板改造一下:首先:找到:后台-->模板风格-->模板管理-->[标签]内容列表tag_content_list.html  点击后面修改复制...