关于火狐(firefox)及ie下event获取的两种方法
经常有同事问我在火狐浏览器怎么获取event的方法,大多是想获取event.keyCode的功能两种方法
第一种方法:
代码如下:
function a(e){
e=e||window.event;
alert(e.keyCode);
}
<body onclick="a()">
<body onclick="a(event)">
这样就可以调用成功
这种方法在firefox需要带个参数过去,不是太好,下面介绍第二种方法
第二种方法:
代码如下:
function a(){
e=arguments.callee.caller.arguments[0] || window.event;
alert(e.keyCode);
}
<body onclick="a()">
这里要解释一下arguments.callee.caller.arguments[0],
简单例子如下:
代码如下:
function a(){
b();
}
function b(){
alert(b === arguments.callee)
alert(b.caller === a)
alert(arguments.callee.caller === a)
}
a();
上面的这个例子将输出3个true,表明当a()调用时,函数b与函数a的关系。
arguments.callee指的就是当前的函数体
arguments.callee.caller就是当前函数的上级函数
所以当执行onclick="a()"时arguments.callee就是a(),arguments.callee.caller就是function onclick
onclick的第一个能数就是event,也就是arguments.callee.caller.arguments[0]这个。
相关推荐
-
ie与firefox下的event使用说明与详细区别
另外ie中使用srcElement去获得事件触发源,ff下使用target.因此使用这两个对象时需要做相关的浏览器兼容. 点击 [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行] 综合上节attachEvent与addEventListener. 点击 添加事件点击 [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行] 下面是关于ie与firefox event的详细区别window.event IE:有window.event对象 FF:没有window.event对象.可以通过
-
火狐和ie下获取javascript 获取event的方法(推荐)
javascript 获取event 先从一个简单的例子说起,一个简单的button控件如下: <input type='button' name='mybtn' id='mybtn' onclick='myFunc()'/> 然后为其注册事件,这样的情况,怎么在javascript里获取event呢,特别是firefox的情况.请看: <script type='text/javascript'> function myFunc(){ var ev = window.event
-
关于火狐(firefox)及ie下event获取的两种方法
经常有同事问我在火狐浏览器怎么获取event的方法,大多是想获取event.keyCode的功能两种方法 第一种方法: 复制代码 代码如下: function a(e){ e=e||window.event; alert(e.keyCode); } ie浏览器如下调用 复制代码 代码如下: <body onclick="a()"> firefox火狐浏览器如下调用 复制代码 代码如下: <body onclick="a(event)"> 这样
-
C#下解析HTML的两种方法介绍
在搜索引擎的开发中,我们需要对Html进行解析.本文介绍C#解析HTML的两种方法.AD: 在搜索引擎的开发中,我们需要对网页的Html内容进行检索,难免的就需要对Html进行解析.拆分每一个节点并且获取节点间的内容.此文介绍两种C#解析Html的方法. C#解析Html的第一种方法:用System.Net.WebClient下载Web Page存到本地文件或者String中,用正则表达式来分析.这个方法可以用在Web Crawler等需要分析很多Web Page的应用中.估计这也是大家最直接,
-
js获取元素到文档区域document的(横向、纵向)坐标的两种方法
获取页面中元素到文档区域document的横向.纵向坐标的两种方法及其比较 在js控制元素运动的过程中,对于页面元素坐标位置的获取是经常用到的,这里主要总结下两种方法: 一:通过叠加元素对象和它的offsetParent(如果存在)的offsetLeft/offsetTop属性来实现 在阅读javascript高级程序设计第三版DOM部分时,了解到要获取某个元素在页面上的偏移量,需要将这个元素的offsetLeft和offsetTop与其offsetParent的相同属性相加,一直循环直至根元素
-
python3中获取文件当前绝对路径的两种方法
方法1: import sys print(sys.argv) 得到文件当前绝对路径字符串的一个列表 ['D:/pycharm/PracticeProject/ClientServerNetworking.py'] 方法2: import os print(os.getcwd()) print(os.listdir()) print(os.path.join(os.getcwd(),os.listdir()[1])) D:\pycharm\PracticeProject ['.idea', 'C
-
详解vue.js下引入百度地图jsApi的两种方法
前言 今天有个项目需要用到百度地图,一般我们在移动端使用百度地图,都是直接通过这样的方式,直接引入百度地图的jsApi. <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=D9b45bc6f98deafc489e9ac1bc7f7612"></script> 这种方法的原理,就是直接给全局widow对象添加一个BMap对象,从而可以使我们
-
使用JavaScript获取URL中的参数(两种方法)
本文给大家分享两种方法使用js获取url中的参数,其中方法二是使用的正则表达式方法,大家可以根据需要选择比较好的方法,废话不多说了,直接看详细介绍吧. 方法一: //取url参数 var type = request("type") function request() { var query = location.search; var paras = arguments[0]; if (arguments.length == 2) { query = arguments[1]; }
-
JS获取地址栏参数的两种方法(简单实用)
js获取地址栏参数的方法有两种:第一种,采用正则表达式获取地址栏参数,第二种,是比较传统的方法,在这小编给大家强烈推荐使用第一种方法,既方便有实用,具体实现过程请看下文详述. 方法一:采用正则表达式获取地址栏参数:( 强烈推荐,既实用又方便!) function GetQueryString(name) { var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)"); var r = window
-
jquery获取URL中参数解决中文乱码问题的两种方法
从A页面通过url传参到B页面时,解析url参数可以用下面两种方法: 方法一:正则分析法 复制代码 代码如下: function getQueryString(name) { var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i"); var r = window.location.search.substr(1).match(reg); if (r != nu
-
jquery获取iframe中的dom对象(两种方法)
父窗口中操作iframe:$(window.frames["iframeChild"].document) //假如iframe的id为iframeChild 在子窗口中操作父窗口:$(window.parent.document) 接下来就可以继续获取iframe内的dom了. 获取iframe内的dom对象有两种方法 1 $(window.frames["iframeChild"].document).find("#child") 2 $(&
-
Flask中获取小程序Request数据的两种方法
Flask中获取小程序Request数据的两种方法 作为后端屌对于前端确实讳莫如深,JS中的类型Object竟然不能直接通过POST传入到后台Flask中,您会发现获取的是[object Object],这货在Flask中只是个Str,哈哈... 于是,开始寻求解决方案: 方案一,通过GET或者POST传参,将Object转换为Str请求数据: 1.在util.js中定义一个JS函数: function json2Form(json) { var str = []; for (var p in
随机推荐
- spring-boot集成spring-security的oauth2实现github登录网站的示例
- .NET 线程基础的使用介绍
- Linux系统中掩耳盗铃的sudo配置
- 利用Supervisor管理Redis进程的方法教程
- PHP中实现获取IP和地理位置类分享
- jsp JFreeChart使用心得与例子
- 解析C++ 浮点数的格式化输出
- Android仿简书搜索框效果的示例代码
- 如何安装绿色版MySQL Community Server 5.7.16并实现远程登录
- Mysql占用过高CPU时的优化手段(必看)
- 彻底搞懂JavaScript中的apply和call方法(必看)
- 关于URL最大长度限制的相关资料查证
- jQuery禁用键盘后退屏蔽F5刷新及禁用右键单击
- .NET企业级项目中遇到的国际化问题和解决方法
- Apache NameVirtualHost *:80 has no VirtualHosts问题解决办法
- javascript在事件监听方面的兼容性小结
- VBS教程:属性-DateCreated 属性
- python实现简单的计时器功能函数
- 基于Java8 函数式接口理解及测试
- Android gradle打包并自动上传的方法