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切换显示的效果实例代码
Feb 27 Javascript
JavaScript获取元素尺寸和大小操作总结
Feb 27 Javascript
JavaScript实现搜索框的自动完成功能(一)
Feb 25 Javascript
AngularJS入门教程之链接与图片模板详解
Aug 19 Javascript
微信小程序 页面跳转传参详解
Oct 28 Javascript
jQuery学习笔记——jqGrid的使用记录(实现分页、搜索功能)
Nov 09 Javascript
Vue关于数据绑定出错解决办法
May 15 Javascript
利用node.js如何搭建一个简易的即时响应服务器
May 28 Javascript
纯JS实现出生日期[年月日]下拉菜单效果
Jun 01 Javascript
小程序实现长按保存图片的方法
Dec 31 Javascript
JavaScript forEach中return失效问题解决方案
Jun 01 Javascript
Ajax实现三级联动效果
Oct 05 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
索尼SONY ICF-7600A(W)电路分析
2021/03/01 无线电
sony ICF-2010 拆解与改装
2021/03/02 无线电
PHP Stream_*系列函数
2010/08/01 PHP
Zend Framework基于Command命令行建立ZF项目的方法
2017/02/18 PHP
js left,right,mid函数
2008/06/10 Javascript
用方法封装javascript的new操作符(一)
2010/12/25 Javascript
jQuery 源码分析笔记(2) 变量列表
2011/05/28 Javascript
jquery插件jSignature实现手动签名
2015/05/04 Javascript
js实现上一页下一页的效果【附代码】
2016/03/10 Javascript
JavaScript弹出对话框的三种方式
2016/03/23 Javascript
jQuery移动端图片上传组件
2016/06/12 Javascript
基于Vuejs框架实现翻页组件
2020/06/29 Javascript
jQuery实现select下拉框获取当前选中文本、值、索引
2017/05/08 jQuery
nodejs使用express获取get和post传值及session验证的方法
2017/11/09 NodeJs
js实现下拉框二级联动
2018/12/04 Javascript
JS实现超级好看的鼠标小尾巴特效
2020/12/01 Javascript
[05:40]DOTA2荣耀之路6:Wings最后进攻
2018/05/30 DOTA
Python pass 语句使用示例
2014/03/11 Python
python搭建虚拟环境的步骤详解
2016/09/27 Python
Python3 queue队列模块详细介绍
2018/01/05 Python
Python爬虫实例_城市公交网络站点数据的爬取方法
2018/01/10 Python
Python 实现12306登录功能实例代码
2018/02/09 Python
Python视频爬虫实现下载头条视频功能示例
2018/05/07 Python
浅谈Python爬虫基本套路
2019/03/25 Python
Django3.0 异步通信初体验(小结)
2019/12/04 Python
Django import export实现数据库导入导出方式
2020/04/03 Python
HTML5安全介绍之内容安全策略(CSP)简介
2012/07/10 HTML / CSS
NULL是什么,它是怎么定义的
2015/05/09 面试题
施工人员岗位职责
2013/12/12 职场文书
医师定期考核实施方案
2014/05/07 职场文书
学生会竞选演讲稿纪检部
2014/08/25 职场文书
关于感恩的演讲稿400字
2014/08/26 职场文书
捐助感谢信
2015/01/22 职场文书
煤矿施工安全协议书
2016/03/22 职场文书
python - timeit 时间模块
2021/04/06 Python
SpringCloud Feign请求头删除修改的操作代码
2022/03/20 Java/Android