博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
window.event在IE和Firefox的异同
阅读量:5075 次
发布时间:2019-06-12

本文共 1242 字,大约阅读时间需要 4 分钟。

网站到后期测试时发现,图片拖拽功能在IE,360,google是正常的,但在Firefox中不能正常使用。

一步步调试发现,在console中报错“TypeError:event is not undefined”,也就是说在我们处理逻辑的函数中不存在window.event对象。

上网查了一下发现,window.event在firefox中不是像在IE中为全局变量,只是一个临时的,需要通过参数传递到函数,或者通过其他方式获取。

window.onload = function () {            var target = window.event;            console.log(typeof target);        }

可以分别在ie和火狐中运行这段代码,你会发现得到的结果是不一样的,IE下是object,而在firefox下则是undefined.如果直接引用event的相关属性,在控制台会报错,就像上面说的那样。

大致原因好像是说他们遵循了不同的标准,这个就无法进一步说明了,有兴趣的可以自己搜一下。

下面说一下解决方法

1.通过参数传递event,而且在IE下这种方式也是兼容的。

window.onload = function (event) {            console.log(typeof event);        }

2.如果不想通过显式传递参数来做的话,这儿有另一种方式。

window.onload = function () {            var evt = window.event || arguments[0];            console.log(typeof evt);        }

网上还有这种形式的,

var evt = window.event || arguments.callee.caller.arguments[0];

其实具体都是从同一个地方取值的,但不知道为什么我测试了一下这种方式,在火狐下会报错:TypeError:arguments.callee.caller is null,不知道是什么原因,具体细节可以参照这个链接www.jb51.net/article/32839.htm

至于具体的event下的属性异同,可以参照这篇文章:http://www.ok12.net/js/125.html

下面是参照的其他一些文章:

http://blog.csdn.net/prettywhitewolf_xiao/article/details/7537612

http://dbear.iteye.com/blog/814509

http://blog.csdn.net/cyxlzzs/article/details/6711924

 

转载于:https://www.cnblogs.com/prayol/p/6739554.html

你可能感兴趣的文章
[转]Android xxx is not translated in yyy, zzz 的解决方法
查看>>
docker入门
查看>>
Android系统--输入系统(十一)Reader线程_简单处理
查看>>
监督学习模型分类 生成模型vs判别模型 概率模型vs非概率模型 参数模型vs非参数模型...
查看>>
Mobiscroll脚本破解,去除Trial和注册时间限制【转】
查看>>
实验五 Java网络编程及安全
查看>>
32位与64位 兼容编程
查看>>
iframe父子页面通信
查看>>
ambari 大数据安装利器
查看>>
java 上传图片压缩图片
查看>>
magento 自定义订单前缀或订单起始编号
查看>>
ACM_拼接数字
查看>>
计算机基础作业1
查看>>
Ubuntu 深度炼丹环境配置
查看>>
C#中集合ArrayList与Hashtable的使用
查看>>
从一个标准 url 里取出文件的扩展名
查看>>
map基本用法
查看>>
poj-1163 动态规划
查看>>
Golang之interface(多态,类型断言)
查看>>
Redis快速入门
查看>>