一、event.srcElement:当前事件的源;

在IE下,event对象有srcElement属性,但是没有target属性;Firefox下,event对象有target属性,但是没有srcElement属性.但他们的作用是相当的,即:

firefox 下的event.target = IE 下的event.srcElement

解决方法:使用obj(obj = event.srcElement ? event.srcElement : event.target;)来代替IE下的event.srcElement或者Firefox下的event.target.

srcElement 和target

在IE 中srcElement 表示产生事件的源,比如是哪个按钮触发的onclick 事件,FF 中则是target。

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

var srcElement = theEvent.srcElement;

if (!srcElement){

srcElement = theEvent.target;

}

例子:

document.onclick = function(e){

var theEvent = window.event || e;

var srcElement = theEvent.srcElement;

if (!srcElement) {

srcElement = theEvent.target;

}

}

function clickAction(){

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

var srcElement = theEvent.srcElement;

if (!srcElement) {

srcElement = theEvent.target;

}

// do something;

}

function clickAction(e){

var theEvent = window.event || e;

var srcElement = theEvent.srcElement;

if (!srcElement) {

srcElement = theEvent.target;

}

// do something;

}

二、event对象

在IE中可以直接使用event 对象,而FF 中则不可以,解决方法之一如下:

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

第二种是将event 作为参数来传递:

function xxx(e){var theEvent = window.event || e;}

三、event.keyCode 和event.which

FF不支持window.event.keyCode,代替着是event.which。

最新文章

  1. .NET Core采用的全新配置系统[10]: 配置的同步机制是如何实现的?
  2. What is Away3D
  3. Django 1.7 Tutorial 学习笔记
  4. 基于CWMP(TR069)协议ACS服务器的搭建
  5. maven仓库没有的包依赖
  6. java servlet+jquery+json学习小例子
  7. YII2 随笔 视图最佳实践
  8. 添加Metasploit-payload到已有的Android项目中
  9. 在测试crontab执行脚本的时候,修改了linux的系统时间,crontab不执行了。
  10. MYSQL汇总
  11. 01_Linux学习_基础知识
  12. 面试阿里前端P6血和泪换来的收获
  13. SpringMVC Web项目升级为Springboot项目(一)
  14. vs2010 vs2013等vs中如何统计整个项目的代码行数
  15. OVS-----CentOS7上搭建基于Open vSwitch的VxLAN隧道实验
  16. Android动画模式
  17. 调用 Https WebService 使用程序自动生成代理类
  18. 百度基础架构组-实习生面试(2016.08 java后台开发)
  19. opencv3中SurfFeatureDetector、SurfDescriptorExtractor、BruteForceMatcher的使用
  20. javascript声明对象时 带var和不带var的区别

热门文章

  1. Hadoop Yarn内存资源隔离实现原理——基于线程监控的内存隔离方案
  2. JS思维导图
  3. 动态规划(DP计数):HDU 5116 Everlasting L
  4. HDU-2975 Billboard
  5. Bzoj 1036: [ZJOI2008]树的统计Count 树链剖分,LCT
  6. Android NDK开发Crash错误定位[转]
  7. 1 weekend110的Linux带图形系统安装 + 网络配置 + 静态IP设置
  8. 【Java重构系列】重构31式之搬移方法
  9. Android模拟器报"Failed To Allocate memory 8"错误的解决办法
  10. WCF客户端和服务器时间不一致,导致通道建立失败的问题)