js事件源window.event.srcElement兼容性写法(详解)


Posted in Javascript onNovember 25, 2016

如下所示:

<html>
<body>
<p>一个好处就是 我想让body(或其他元素内)的某些对象响应事件 就不用挨个儿去写
只要在外层上写一个 然后检查event.srcElement.tagName或其他属性是不是你想要的来决定是否响应事件就可以了.不过好像event.srcElement在ff里不起作用 </p>
<p>比如</p>
<p>
<input value="input">
<br>
<span>span</span></p>
<div>div</div>

<p>event对象指当前触发的事件对象,  window.event.srcElement是指触发事件的对象。比如你设定document.onclick  
=  myfunc;这时所有页面点击的事件都交给myfunc处理,在myfunc函数里可以写vSrc  =  window.event.srcElement,
知道用户是点击了什么地方,做相应处理。  
你找个HTML文件,在其中加上这么一段:</p>
<p>
<textarea rows="10" cols="90">
  <script  languange  =  "javascript">  
document.onclick  =  myfunc;  
 
</script> 
</textarea>  
<script  languange  =  "javascript">  
document.onclick  =  myfunc;  
function myfunc()
{
var evt=getEvent();
var element=evt.srcElement || evt.target;
alert(element.tagName)
}
//在 ie中处理事件直接使用window.event对象即可,但在firefox中,是没有 window.event对象的,函数需要使用事件的时候,
//需要在事件发生时把事件作为参数传递给函数,不象在ie中,事件对象是全局的,随处都可以访 问.下面这个getEvent()函数可以兼容firefox和ie,
//只需要在访问事件对象的函数的开始调用getEvent()即可,不用再把事件作为 参数传递.以下代码已经实验通过! 
function getEvent()
{
if(document.all)
{
return window.event;//如果是ie
}
func=getEvent.caller;
while(func!=null)
{
var arg0=func.arguments[0];
if(arg0)
{
if((arg0.constructor==Event || arg0.constructor ==MouseEvent)
||(typeof(arg0)=="object" && arg0.preventDefault && arg0.stopPropagation))
{
return arg0;
}
}
func=func.caller;
}
return null;
}  
</script>
</p>
<p>试试就知道了。 <a href=#>void(0)是一个不做任何事的函数。</a>
</p>
</body>

 </html>

以上这篇js事件源window.event.srcElement兼容性写法(详解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jQuery 可以拖动的div实现代码 脚本之家修正版
Jun 26 Javascript
JS中confirm,alert,prompt函数使用区别分析
Apr 01 Javascript
JS模拟自动点击的简单实例
Aug 08 Javascript
如何判断元素是否为HTMLElement元素
Dec 06 Javascript
JavaScript数组去重由慢到快由繁到简(优化篇)
Aug 26 Javascript
JavaScript运动框架 链式运动到完美运动(五)
May 18 Javascript
React Native模块之Permissions权限申请的实例相机
Sep 28 Javascript
jquery点击回车键实现登录效果并默认焦点的方法
Mar 09 jQuery
微信小程序开发注意指南和优化实践(小结)
Jun 21 Javascript
深入浅析ng-bootstrap 组件集中 tabset 组件的实现分析
Jul 19 Javascript
vue中使用[provide/inject]实现页面reload的方法
Sep 30 Javascript
JS实现盒子拖拽效果
Feb 06 Javascript
使用JS读取XML文件的方法
Nov 25 #Javascript
JS比较两个数值的大小实例
Nov 25 #Javascript
使用JavaScript解决网页图片拉伸问题(推荐)
Nov 25 #Javascript
js移动焦点到最后位置的简单方法
Nov 25 #Javascript
详解JS几种变量交换方式以及性能分析对比
Nov 25 #Javascript
深入浅析Vue组件开发
Nov 25 #Javascript
javascript中href和replace的比较(详解)
Nov 25 #Javascript
You might like
phpmyadmin安装时提示:Warning: require_once(./libraries/common.inc.php)错误解决办法
2011/08/18 PHP
php删除文件夹及其文件夹下所有文件的函数代码
2013/01/23 PHP
apache配置虚拟主机的方法详解
2013/06/17 PHP
PHP解决URL中文GBK乱码问题的两种方法
2014/06/03 PHP
教你如何用php实现LOL数据远程获取
2014/06/10 PHP
php调用mysql存储过程实例分析
2014/12/29 PHP
php多进程模拟并发事务产生的问题小结
2018/12/07 PHP
JavaScript中数组对象的那些自带方法介绍
2013/03/12 Javascript
jQuery cdn使用介绍
2013/05/08 Javascript
原生js实现半透明遮罩层效果具体代码
2013/06/06 Javascript
原生js实现改变随意改变div属性style的名称和值的结果
2013/09/26 Javascript
js下将阿拉伯数字每三位一逗号分隔(如:15000000转化为15,000,000)
2014/06/02 Javascript
javascript实现的图片切割多块效果实例
2015/05/07 Javascript
常用的js方法合集
2017/03/10 Javascript
Vue cli构建及项目打包以及出现的问题解决
2018/08/27 Javascript
three.js实现圆柱体
2018/12/30 Javascript
js实现无限瀑布流实例方法
2019/09/16 Javascript
Python单例模式实例详解
2017/03/01 Python
解决pycharm无法调用pip安装的包问题
2018/05/18 Python
Python使用scrapy爬取阳光热线问政平台过程解析
2019/08/14 Python
python程序 创建多线程过程详解
2019/09/23 Python
Python 给下载文件显示进度条和下载时间的实现
2020/04/02 Python
Python 解决相对路径问题:&quot;No such file or directory&quot;
2020/06/05 Python
Html5 页面适配iPhoneX(就是那么简单)
2019/09/05 HTML / CSS
美国大型的健身社区和补充商店:Bodybuilding.com
2016/09/06 全球购物
毕业生幼师求职自荐信
2013/10/01 职场文书
办理暂住证介绍信
2014/01/11 职场文书
在校大学生的职业生涯规划书
2014/03/14 职场文书
请假条格式范文
2014/04/10 职场文书
校本课程教学计划
2015/01/19 职场文书
家长给老师的感谢信
2015/01/20 职场文书
2015年团支书工作总结
2015/04/03 职场文书
Python文件的操作示例的详细讲解
2021/04/08 Python
PyQt5爬取12306车票信息程序的实现
2021/05/14 Python
在Python 中将类对象序列化为JSON
2022/04/06 Python
解决Git推送错误non-fast-forward的方法
2022/06/25 Servers