当前位置: 首页 > 编程笔记 >

js事件源window.event.srcElement兼容性写法(详解)

鞠源
2023-03-14
本文向大家介绍js事件源window.event.srcElement兼容性写法(详解),包括了js事件源window.event.srcElement兼容性写法(详解)的使用技巧和注意事项,需要的朋友参考一下

如下所示:

<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兼容性写法(详解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持小牛知识库。

 类似资料:
  • 本文向大家介绍JS事件添加和移出的兼容写法示例,包括了JS事件添加和移出的兼容写法示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了JS事件添加和移出的兼容写法。分享给大家供大家参考,具体如下: 其中,addHandler 和 removeHandsler 个方法首先都会检测传入的元素中是否存在DOM2级方法.如果存在DOM2级方法,则使用该方法:传入事件类型,事件处理程序函数和第三个参

  • 本文向大家介绍兼容浏览器的js事件绑定函数(详解),包括了兼容浏览器的js事件绑定函数(详解)的使用技巧和注意事项,需要的朋友参考一下 因为javascript中所有对象都集成与Object,那么只有给Object原型添加一个事件绑定函数,就不需要在处理绑定事件的时候,每次写一长串代码,直接调用即可。在代码中添加红色部分代码,直接便可以在代码中直接调用 以上这篇兼容浏览器的js事件绑定函数(详解)

  • 我目前正在使用gradle,似乎可以通过java插件设置sourcecompatibility和targetcompatibility 我想知道除了与旧的JDK向后兼容之外,我们使用sourcecompatibility/targetcompatibility的原因是什么? 如果没有设置sourcecompatibility/targetcompatibility,升级到最新的java会更容易吗?

  • 本文向大家介绍js滚轮事件兼容性问题需要注意哪些,包括了js滚轮事件兼容性问题需要注意哪些的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家解析了js滚轮事件需要注意的兼容性问题,供大家参考,具体内容如下 滚轮事件的兼容性问题比较多,所以大家在实现这个效果的时候也要随时测试兼容性的问题。 暂时整理的大概就这些,还有很多不足的地方,大家多提宝贵意见! 以上就是本文的全部内容,希望对大家的学习有

  • 本文向大家介绍JS兼容所有浏览器的DOMContentLoaded事件,包括了JS兼容所有浏览器的DOMContentLoaded事件的使用技巧和注意事项,需要的朋友参考一下 使用JavaScript操作dom元素的时候,通常会将获取dom元素的代码放在window.onload=function(){}事件处理函数中,但window.onload事件在某些开始后可能会影响客户体验,因为要等待所有

  • 本文向大家介绍JS 滚动事件window.onscroll与position:fixed写兼容IE6的回到顶部组件,包括了JS 滚动事件window.onscroll与position:fixed写兼容IE6的回到顶部组件的使用技巧和注意事项,需要的朋友参考一下 现在网上的回到顶部组件,懂不懂就一大段让人看不懂javascript代码,还各种不兼容。起始这个组件,完全可以自己利用javascrip

  • 本章提供了有关 版本控制 章节中提供的破坏性和非破坏性修改列表的详细说明。 什么算是一个破坏性(不兼容)的变化并没有明确的定义。本指南应该被视为指示性的,而不是每一种可能变化的全面清单。 这里列出的规则只涉及客户端兼容性。预期API生产者明白在部署方面的要求,包括实现细节的变化。 一般目的是,服务端更新到一个新的minor版本或patch版本不该破坏客户端。可预期的破坏类型有: 源代码兼容性:针对

  • 语言补丁 Array.isArray Object.assign JSON.stringify console-polyfill Object.keys Object.is Array.prototype.forEach Function.prototype.bind 或者直接使用https://polyfill.io/ 提供的动态补丁方案 <script src="https://cdn.pol