如何解决firefox下window.event的问题
一、在函数中传递event参数
在函数中传递event参数,这样我们就可以兼容IE和FF的event的获取了,如下面的函数:
function _test(evt)
{
var src = evt.srcElement || evt.target; // 获取触发事件的源对象
alert(src.value); // 打印该对象的value属性
}
那么我们在使用的时候就应该这样:
<input type='button' value='click me' onclick='_test(event)' />
二、在函数调用中不传递event对象
虽然在函数中没有传递参数,这个在IE下没有任何影响,因为window.event是全局对象,在什么地方都可以直接调用的,而在FF下就不行了。所以我们这里要使用另外一种方式来获取了,如下:
function _test2()
{
var evt = window.event || arguments.callee.caller.arguments[0]; // 获取event对象
var src = evt.srcElement || evt.target; // 获取触发事件的源对象
alert(src.value); // 打印该对象的value属性
}
那么,我们在使用的时候就可以想普通的函数调用一样,直接输入函数名称即可,如下:
<input type='button' value='click me2' onclick='_test2()' />
可见,相比两种方法,第二种方法更具有普遍和通用性,因为可以不用传递参数了,这样在使用的时候也更加的方便;第一种方式就更加直接明了,呵呵,至于具体怎么用,还得看个人的了~~
如何解决firefox下window.event的问题的更多相关文章
- 让FireFox支持window.event属性
场景描述: 在用户行为采集的过程中,需要侦听window下的event对象,根据事件类型做相应的过滤处理,但在firefox下window.event是未定义的: 问题分析: 要想获取event属性共 ...
- firefox浏览器window.event is undefined问题
获取鼠标坐标,IE下window.event.clientX和window.event.clientY就可以获取x,y的座标了.但是firefox却不行,浏览器报错window.event is un ...
- 让FireFox支持 window.event 全局事件对象
这里比原文稍加改进,让FF也支持 event.srcElement了, 省得每次写兼容代码挺麻烦的: //For firefox window.event if(typeof(window.event ...
- 解决Firefox下input button内文字垂直居中
众所周知,在Firefox下input type=”button”的文字是不好居中的,原因在于Firefox自己比较二,弄了个私有属性,导致以下问题的出现: 按钮左右本身有2px的间距(FF私有属性写 ...
- 解决Firefox下,页面元素不刷新问题
由于FireFox的刷新机制与IE有较大区别.所以javascript代码 document.location.reload();通常在IE上工作正常,在Firefox下效果却并不理想,这是因为Fir ...
- 解决IOS下window.open页面打不开问题
问题如标题所写,在ajax回调里面拿到即将要跳转的链接url,使用window.open(linkUrl),没有起作用,而且代码也没有报错,查找原因是:大部分现代的浏览器(Chome/Firefox/ ...
- event和window.event
type:事件的类型,如onlick中的click:srcElement/target:事件源,就是发生事件的元素:button:声明被按下的鼠标键,整数,1代表左键,2代表右键,4代表中键,如果按下 ...
- Event/window.Event属性和方法
type:事件的类型,如onlick中的click:srcElement/target:事件源,就是发生事件的元素:button:声明被按下的鼠标键,整数,1代表左键,2代表右键,4代表中键,如果按下 ...
- 浏览器兼容问题----Firefox不兼容event的解决方法
一.event.srcElement:当前事件的源: 在IE下,event对象有srcElement属性,但是没有target属性;Firefox下,event对象有target属性,但是没有srcE ...
随机推荐
- Linux coredump
前面写过通过注册信号处理函数定位SEGV问题.其实Linux coredump机制也是比较好的debug手段. 进程由于某种异常或者bug导致在运行过程中异常退出或者中止,有时会产生一个叫做core的 ...
- Head First设计模式-单例模式
一.整体代码 Singleton.java public class Singleton { private static Singleton uniqueInstance; // other use ...
- (剑指Offer)面试题27:二叉搜索树与双向链表
题目: 输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表.要求不能创建任何新的结点,只能调整树中结点指针的指向. 二叉树的定义如下: struct TreeNode{ int val; Tr ...
- 关于document.referrer的使用需要注意
项目使用到一个场景,ajax请求返回无权限,跳回登录页面,登录后自动返回之前的浏览页,跳转由前端处理,于是想到document.referrer,但是对可靠性不确定,特意搜索了一下相关资料,大致整理如 ...
- cocos2d-x 用浏览器打开网页
转自:http://www.xuebuyuan.com/1396292.html,http://www.cocoachina.com/bbs/read.php?tid=88589 First!! 源代 ...
- linux 下使rdate命令支持ipv6 ntp server 同步时间
如果使用linux 下,busybox自带的rdate命令 去ipv6 的ntp server 同步时间的话,会提示invalid argument :无效参数. 那么现在下载rdate的源码并对其进 ...
- Commons IO方便读写文件的工具类
Commons IO是apache的一个开源的工具包,封装了IO操作的相关类,使用Commons IO可以很方便的读写文件,url源代码等. 普通地读取一个网页的源代码的代码可能如下 InputStr ...
- 为网页设计师和开发者准备的20个很棒的JavaScript资源
JavaScript是一门应用广泛的计算机编程语言,一般具应用在Web浏览器中,大多用于客户端脚本以实现用户与服务器的交互.在游戏开发.移动应用.一些大型的服务器应用等开发进程中它在服务器端的应用也很 ...
- php计算脚本执行时间
利用PHP的microtime实现 function getCurrentTime () { list ($msec, $sec) = explode(" ", microtime ...
- AES加密算法
代码是抄的,版权信息有 代码压缩包下载地址:http://pan.baidu.com/s/1jGEKH1c AES.h /////////////////////////////// // http: ...