一、event对象

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

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

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

function test(event) {
var event = event || window.event;
//do Something
}

二、关于IE下的event.srcElement和火狐下的event.target

火狐下的e.target相当于ie下的event.srcElement,表示产生事件的源。

例子:

document.onclick = function(e){
var theEvent = window.event || e;
var srcElement = theEvent.srcElement;
if (!srcElement) {
srcElement = theEvent.target;
}
}

三、event.keyCode 和event.which

Mozilla下的event.which与IE下的event.keyCode相当。

代码:

JScript 代码 复制

//IE
<input type="text" nkeypress="doIt()">
<script language="javascript">
function doIt()
{
alert(event.keyCode);
}
</script>

//火狐
//经测试  调用位置必须加上event,声明处也加上event才可以使用
<input type="text" nkeypress="doIt(event)">
<script language="javascript">
function doIt(oEvent)
{
alert(oEvent.which)
}
</script>

四、event.x,event.y[IE]和event.pageX,event.pageY[Moz]

IE中取鼠标点击的绝对位置,使用event对象的event.x和event.y
Moz中取鼠标点击的绝对位置,使用event对象的event.pageX和event.pageY
所以为了兼容,需要自己做处理

五、event.offsetX,event.offsetY[IE]和event.pageX,event.pageY[Moz]

IE中取鼠标点击的相对位置,使用event对象的event.offsetX和event.offsetY
Moz中取鼠标点击的相对位置,使用event对象的event.layerX和event.layerY
所以为了兼容,需要自己做处理,

六、事件绑定

事件绑定上Mozilla用addEventListener,removeEventListener
对应IE的attachEvent,detatchEvent

火狐IE event和target的兼容的更多相关文章

  1. [开发笔记]-火狐的event和jquery1.9.1.min的问题

    一:火狐不兼容window.event.keyCode问题 火狐的event是以参数形式传入的 function onlychinese(event) { event = event || windo ...

  2. 事件代理(event的target属性)

    event的target属性 一个题:请通过事件代理实现当点击每一个li标签,弹出相应li标签内的内容 Event对象提供了一个属性叫target,可以返回事件的目标节点,我们称为事件源,也就是说,t ...

  3. js中event的target和currentTarget

    js 中的event是个很有用的对象,不同的浏览器,处理方式可能不一样. 我们现在只考虑标准的浏览器的情况 event是表示时间触发的产生的对象,以click事件为例. 由于冒泡的存在,event对象 ...

  4. js中event的target和currentTarget的区别

    js中的event对象包含很多有用的信息 target:触发事件的元素. currentTarget:事件绑定的元素. 两者在没有冒泡的情况下,是一样的值,但在用了事件委托的情况下,就不一样了,例如: ...

  5. 关于ev||event事件对象的兼容写法

    因为FireFox Chrome默认都是有一个值传进来的,所以这里是对IE和FireFox Chrome做了兼容. 例如:页面点击事件事件要使用document,获取鼠标位置 document.onc ...

  6. 关于event 和 window.event问题及浏览器兼容问题

    < html> < script language="javascript"> function test(event) { event = event | ...

  7. 关于js中event的target和currentTarget的区别

    今天又遇到这个问题了,总是搞不清楚target和currentTarget的区别,百度搜索的时候看到一遍文章解释得很清楚,特意记录下录,以备不时之需: target与currentTarget的区别? ...

  8. js event 的target 和currentTarget

    target  点击的实际tag currentTarget 绑定事件的target

  9. ie与火狐中常见的一些兼容问题

    1. document.form.item 问题 (1)现有问题: 现有代码中存在许多 document.formName.item("itemName") 这样的语句,不能在Fi ...

随机推荐

  1. netstat命令怎么查看端口是否占用

    转自:http://www.ahlinux.com/start/cmd/527.html netstat命令是一个监控TCP IP网络的非常有用的工具,它可以显示路由表.实际的网络连接以及每一个网络接 ...

  2. 源码分析ConcurrentHashMap

    ConcurrentHashMap 1.7 segment分段锁 1.8 CAS 红黑树

  3. LeetCode 179 Largest Number 把数组排成最大的数

    Given a list of non negative integers, arrange them such that they form the largest number.For examp ...

  4. jdbc 开启事务

    package com.itheima.tx; import java.sql.Connection; import java.sql.PreparedStatement; import java.s ...

  5. 汇编语言版本的HelloWorld

    平台 macOS 工具 nasm clang 文件 main.asm extern _printf ; 这里调用系统的一个系统调用函数, _printf, 使用extern告诉链接器该label在其他 ...

  6. 性能测试学习第十一天_Analysis

    Analysis的功能:对测试运行结果进行查看,分析和比较 导入分析文件:loadrunner results文件和analysis session文件 Analysis窗口: 1.会话浏览器窗格 2 ...

  7. 与 HTML4 比较,HTML5 废弃了哪些元素?

    frame frameset noframe applet big center basefront

  8. Java算法面试题 一个顺子带一对

    打牌里面经常出现的5张牌,一个顺子带一对,给你五张牌,比如:1,2,2,2,3 或者 5,6,7,4,4 或者 2,4,3,5,5 或者 7,5,9,6,9 ,这种情况就符合一个顺子带一对,则返回 t ...

  9. css盒子模型 css3盒子相关样式

    1.内边距(内边距在content外,边框内) 内边距属性: padding          设置所有边距 padding-bottom     底边距 padding-left           ...

  10. Bootstrap学习笔记(三)

    三.组件 1.图标字体 图标字体本质是文字,而不是图形!可以无限放大或修改颜色. 使用方式:<span class="glyphicon glyphicon-XXX"> ...