前言
各位新码萌,大家好!如果你的项目是用原生 js 语言编写的,你在调试项目的时候,是不是经常出现 IE 和 Chrome 都显示正常,就是 FireFox 异常,我们今天就来说一说 event 对象的兼容性问题!
一、 window . event 问题
window . event 只能在 IE 、 Chrome 下运行,而不能在 Firefox 下运行。
原生 js 兼容写法:
function foo(ev){ var evt = window.event||ev; //下面的代码使用 evt 更安全 }
jquery 写法:
$(".btn").click(function(event){ alert(event.type);//event是可以直接使用的 })
二、 event . target 属性: 获取触发事件的对象
IE 下, event 对象有 srcElement 属性,没有 target 属性; Firefox 下, event 对象有 target 属性,没有 srcElement 属性。
原生 js 兼容写法:
function foo(event){ var evt = window.event||event; var targetObj = evt.target||evt.srcElement; //下面的代码使用 targetObj 更安全 }
jquery 写法:
$(".btn").click(function(event){ alert(event.target);//event.tareget 是可以直接使用的 })