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

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

snuday16年前 (2011-05-25)JavaScript 笔记1272

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


相关文章

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

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

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

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

使用StyleBuilder修改、制作XP 主题

使用StyleBuilder修改、制作XP 主题

一。新建。  打开StyleBuilder,根据向导,指定一个存放文件的位置,其余全部下一步。二。如果要在已有的主题上创作,则:  点菜单的文件\插入.msstyles 文件,选择主题文件,选择一个解...

WindsPhoto首页调用相册分类无法显示解决方案

WindsPhoto首页调用相册分类无法显示解决方案

需要注意的是,这个版本中将图片的分类列表文件修改为了windsphoto_sort.asp,相应的调用标签应该为<#CACHE_INCLUDE_WINDSPHOTO_SORT#>为了方便大...

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

2、养成良好的js代码编写习惯①. 总是使用 ‘var’在javascript中,变量不是全局范围的就是函数范围的,使用”var”关键词将是保持变量简洁...

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

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