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检测客户端不是firefox则提示下载
Apr 07 Javascript
认识延迟时间为0的setTimeout
May 16 Javascript
GridView中获取被点击行中的DropDownList和TextBox中的值
Jul 18 Javascript
jquery将一个表单序列化为一个对象的方法
Jan 03 Javascript
优化Node.js Web应用运行速度的10个技巧
Sep 03 Javascript
jquery中post方法用法实例
Oct 21 Javascript
node.js中的fs.rename方法使用说明
Dec 16 Javascript
js实现精美的图片跟随鼠标效果实例
May 16 Javascript
详解Javascript模板引擎mustache.js
Jan 20 Javascript
一个因@click.stop引发的bug的解决
Jan 08 Javascript
详解vue 图片上传功能
Apr 30 Javascript
angular异步验证器防抖实例详解
Mar 31 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
基于HTTP长连接的&quot;服务器推&quot;技术的php 简易聊天室
2009/10/31 PHP
php导出CSV抽象类实例
2014/09/24 PHP
php+mysqli预处理技术实现添加、修改及删除多条数据的方法
2015/01/30 PHP
php输出全球各个时区列表的方法
2015/03/31 PHP
zen_cart实现支付前生成订单的方法
2016/05/06 PHP
Laravel 连接(Join)示例
2019/10/16 PHP
js点击出现悬浮窗效果不使用JQuery插件
2014/01/20 Javascript
JavaScript极简入门教程(一):基础篇
2014/10/25 Javascript
JavaScript编程中容易出BUG的几点小知识
2015/01/31 Javascript
jQuery中noconflict函数的实现原理分解
2015/02/03 Javascript
jQuery实现伸展与合拢panel的方法
2015/04/30 Javascript
JavaScript运算符小结
2015/06/03 Javascript
jQuery实现的简单分页示例
2016/06/01 Javascript
JS获取本周周一,周末及获取任意时间的周一周末功能示例
2017/02/09 Javascript
关于Vue实现组件信息的缓存问题
2017/08/23 Javascript
es6在react中的应用代码解析
2017/11/08 Javascript
angular4中引入echarts的方法示例
2019/01/29 Javascript
layui table数据修改的回显方法
2019/09/04 Javascript
layui下拉框获取下拉值(select)的例子
2019/09/10 Javascript
在vue中使用jsx语法的使用方法
2019/09/30 Javascript
[01:29:31]VP VS VG Supermajor小组赛胜者组第二轮 BO3第一场 6.2
2018/06/03 DOTA
python有证书的加密解密实现方法
2014/11/19 Python
Python文件去除注释的方法
2015/05/25 Python
Python实现比较两个列表(list)范围
2015/06/12 Python
Python面向对象编程中关于类和方法的学习笔记
2016/06/30 Python
解决Linux系统中python matplotlib画图的中文显示问题
2017/06/15 Python
Pycharm新建模板默认添加个人信息的实例
2019/07/15 Python
python爬虫 urllib模块url编码处理详解
2019/08/20 Python
python路径的写法及目录的获取方式
2019/12/26 Python
浅谈多卡服务器下隐藏部分 GPU 和 TensorFlow 的显存使用设置
2020/06/30 Python
请解释一下webService? 如何用.net实现webService
2014/06/09 面试题
综治目标管理责任书
2015/05/11 职场文书
超强台风观后感
2015/06/09 职场文书
如何制作自己的原生JavaScript路由
2021/05/05 Javascript
Jupyter Notebook 如何修改字体和大小以及更改字体样式
2021/06/03 Python
SpringBoot深入分析讲解监听器模式下
2022/07/15 Java/Android