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 相关文章推荐
javascript Demo模态窗口
Dec 06 Javascript
再论Javascript下字符串连接的性能
Mar 05 Javascript
HTML5之lang属性与dir属性的详解
Jun 19 Javascript
javascript动态判断html元素并执行不同的操作
Jun 16 Javascript
JavaScript中的object转换成number或string规则介绍
Dec 31 Javascript
浅谈window对象的scrollBy()方法
Jul 15 Javascript
Jquery Ajax Error 调试错误的技巧
Nov 20 Javascript
JS ES6中setTimeout函数的执行上下文示例
Apr 27 Javascript
深入理解Vue 组件之间传值
Aug 16 Javascript
vue2.0 + ele的循环表单及验证字段方法
Sep 18 Javascript
vue悬浮可拖拽悬浮按钮的实例代码
Aug 20 Javascript
jquery实现点击弹出对话框
Feb 08 jQuery
使用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 Coding Tips(php小技巧)[2011/04/02最后更新]
2011/05/02 PHP
CodeIgniter图像处理类的深入解析
2013/06/17 PHP
PHP中Session可能会引起并发问题
2015/06/26 PHP
如何判断php mysqli扩展类是否开启
2016/12/24 PHP
php依赖注入知识点详解
2019/09/23 PHP
获取DOM对象的几种扩展及简写
2006/10/09 Javascript
Mootools 1.2教程 函数
2009/09/15 Javascript
Javascript在IE或Firefox下获取鼠标位置的代码
2009/12/18 Javascript
AlertBox 弹出层信息提示框效果实现步骤
2010/10/11 Javascript
JavaScript中innerHTML,innerText,outerHTML的用法及区别
2015/09/01 Javascript
JQuery实现图片轮播效果
2015/09/15 Javascript
详解angularjs的数组传参方式的简单实现
2017/07/28 Javascript
Vue的Class与Style绑定的方法
2017/09/01 Javascript
Vue源码解析之数组变异的实现
2018/12/04 Javascript
如何能分清npm cnpm npx nvm
2019/01/17 Javascript
vue v-for 使用问题整理小结
2019/08/04 Javascript
[02:53]DOTA2亚洲邀请赛 NewBee战队巡礼
2015/02/03 DOTA
[01:05:36]VP vs TNC Supermajor小组赛B组 BO3 第二场 6.2
2018/06/03 DOTA
[47:04]EG vs RNG 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/18 DOTA
用Python编程实现语音控制电脑
2014/04/01 Python
django轻松使用富文本编辑器CKEditor的方法
2017/03/30 Python
Python变量和字符串详解
2017/04/29 Python
django连接oracle时setting 配置方法
2019/08/29 Python
解决pycharm同一目录下无法import其他文件
2020/02/12 Python
使用pymysql查询数据库,把结果保存为列表并获取指定元素下标实例
2020/05/15 Python
Django 如何使用日期时间选择器规范用户的时间输入示例代码详解
2020/05/22 Python
keras实现基于孪生网络的图片相似度计算方式
2020/06/11 Python
Python threading模块condition原理及运行流程详解
2020/10/05 Python
美国指甲油品牌:Deco Miami
2017/01/30 全球购物
攀岩、滑雪、徒步旅行装备:Black Diamond Equipment
2019/08/16 全球购物
参观监狱心得体会
2014/01/02 职场文书
幼儿园运动会加油词
2014/02/14 职场文书
晚会主持词开场白
2014/03/17 职场文书
人事聘任通知
2015/04/21 职场文书
解决redis sentinel 频繁主备切换的问题
2021/04/12 Redis
详解如何使用Node.js实现热重载页面
2021/05/06 Javascript