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 相关文章推荐
js下关于onmouseout、事件冒泡的问题经验小结
Dec 09 Javascript
给html超链接设置事件不使用href来完成跳
Apr 20 Javascript
javascript制作sql转换为stringBuffer的小工具
Apr 03 Javascript
jQuery移动端日期(datedropper)和时间(timedropper)选择器附源码下载
Apr 19 Javascript
Bootstrap Validator 表单验证
Jul 25 Javascript
jQuery的事件预绑定
Dec 05 Javascript
PHP+jquery+ajax实现分页
Dec 09 Javascript
bootstrap模态框嵌套、tabindex属性、去除阴影的示例代码
Oct 17 Javascript
原生JS与jQuery编写简单选项卡
Oct 30 jQuery
Node.js连接Sql Server 2008及数据层封装详解
Aug 27 Javascript
记录一次完整的react hooks实践
Mar 11 Javascript
vue 在单页面应用里使用二级套嵌路由
Dec 19 Vue.js
使用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
php将数据库中的电话号码读取出来并生成图片
2008/08/31 PHP
php+mysql大量用户登录解决方案分析
2014/12/29 PHP
PHP制作万年历
2015/01/07 PHP
在laravel框架中实现封装公共方法全局调用
2019/10/14 PHP
关于laravel框架中的常用目录路径函数
2019/10/23 PHP
javascript在事件监听方面的兼容性小结
2010/04/07 Javascript
在JavaScript中操作数组之map()方法的使用
2015/06/09 Javascript
通过node-mysql搭建Windows+Node.js+MySQL环境的教程
2016/03/01 Javascript
jquery删除数组中重复元素
2016/12/05 Javascript
jQuery控制控件文本的长度的操作方法
2016/12/05 Javascript
Bootstrap Tree View简单而优雅的树结构组件实例解析
2017/06/15 Javascript
详解vue中router-link标签所必备了解的属性
2019/04/15 Javascript
五分钟搞懂Vuex实用知识(小结)
2019/08/12 Javascript
微信小程序关键字变色实现代码实例
2019/12/13 Javascript
Node.js操作MongoDB数据库实例分析
2020/01/19 Javascript
JavaScript类的继承多种实现方法
2020/05/30 Javascript
python中as用法实例分析
2015/04/30 Python
在Python中使用成员运算符的示例
2015/05/13 Python
python实现简易版计算器
2020/06/22 Python
Sanic框架基于类的视图用法示例
2018/07/18 Python
Python3实现的反转单链表算法示例
2019/03/08 Python
在python里面运用多继承方法详解
2019/07/01 Python
python Django的web开发实例(入门)
2019/07/31 Python
Python selenium的基本使用方法分析
2019/12/21 Python
使用Tkinter制作信息提示框
2020/02/18 Python
python numpy矩阵信息说明,shape,size,dtype
2020/05/22 Python
日本著名的服饰鞋帽综合类购物网站:MAGASEEK
2019/01/09 全球购物
技术总监岗位职责
2013/12/05 职场文书
医学院校毕业生自荐信范文
2014/01/01 职场文书
法定代表人授权委托书范文
2014/08/02 职场文书
公司授权委托书格式样本
2014/10/01 职场文书
法务专员岗位职责
2015/02/14 职场文书
继续教育个人总结
2015/03/03 职场文书
Python爬虫框架之Scrapy中Spider的用法
2021/06/28 Python
Python pyecharts绘制条形图详解
2022/04/02 Python
ICOM R71E和R72E图文对比解说
2022/04/07 无线电