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 开发者应该注意的9个错误
May 03 Javascript
在页面加载完成后通过jquery给多个span赋值
May 21 Javascript
js使用split函数按照多个字符对字符串进行分割的方法
Mar 20 Javascript
js如何打印object对象
Oct 16 Javascript
Bootstrap Table使用方法详解
Aug 01 Javascript
jQuery获取与设置iframe高度的方法
Aug 01 Javascript
Web安全测试之XSS实例讲解
Aug 15 Javascript
详解Vue-cli代理解决跨域问题
Sep 27 Javascript
vuejs 动态添加input框的实例讲解
Aug 24 Javascript
Vue CLI 3搭建vue+vuex最全分析(推荐)
Sep 27 Javascript
vue.js层叠轮播效果的实例代码
Nov 08 Javascript
基于Vue实现图片在指定区域内移动的思路详解
Nov 11 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
php设计模式 Mediator (中介者模式)
2011/06/26 PHP
php+mysqli使用预处理技术进行数据库查询的方法
2015/01/28 PHP
ThinkPHP模型详解
2015/07/27 PHP
谈谈 PHP7新增功能
2015/12/16 PHP
Ubuntu VPS中wordpress网站打开时提示”建立数据库连接错误”的解决办法
2016/11/03 PHP
PHP基于递归算法解决兔子生兔子问题
2018/05/11 PHP
php+js实现的拖动滑块验证码验证表单操作示例【附源码下载】
2020/05/27 PHP
jquery绑定原理 简单解析与实现代码分享
2011/09/06 Javascript
ExtJS下书写动态生成的xml(兼容火狐)
2013/04/02 Javascript
js判断页面中是否有指定控件的简单实例
2014/03/04 Javascript
吐槽一下我所了解的Node.js
2014/10/08 Javascript
实例分析js和C#中使用正则表达式匹配a标签
2014/11/26 Javascript
KnockoutJS 3.X API 第四章之表单textInput、hasFocus、checked绑定
2016/10/11 Javascript
node上的redis调用优化示例详解
2018/10/30 Javascript
JS实现canvas简单小画板功能
2020/06/23 Javascript
[02:41]DOTA2英雄基础教程 亚巴顿
2014/01/02 DOTA
Python遍历zip文件输出名称时出现乱码问题的解决方法
2015/04/08 Python
Python获取linux主机ip的简单实现方法
2016/04/18 Python
批量将ppt转换为pdf的Python代码 只要27行!
2018/02/26 Python
详解python播放音频的三种方法
2019/09/23 Python
利用PyQt中的QThread类实现多线程
2020/02/18 Python
Scrapy爬虫文件批量运行的实现
2020/09/30 Python
python collections模块的使用
2020/10/16 Python
Python解析m3u8拼接下载mp4视频文件的示例代码
2021/03/03 Python
前端实现弹幕效果的方法总结(包含css3和canvas的实现方式)
2018/07/12 HTML / CSS
印度在线内衣和时尚目的地:Zivame
2017/09/28 全球购物
数字漫画:comiXology
2020/06/13 全球购物
求职信的七个关键技巧
2014/02/05 职场文书
就业表自我评价分享
2014/02/06 职场文书
自荐书范文范例
2014/02/13 职场文书
2014大学生全国两会学习心得体会
2014/03/13 职场文书
《生命 生命》教学反思
2014/04/19 职场文书
冬季安全检查方案
2014/05/23 职场文书
化学专业毕业生求职信
2014/07/28 职场文书
报考公务员诚信承诺书
2014/08/29 职场文书
Redis做数据持久化的解决方案及底层原理
2021/07/15 Redis