e.target 和 e.srcElement 的使用问题

问题描述

以前和少接触JS      看了网上的一段代码 后面的三元表达式看懂了   还有几个疑问想咨询下大家   :  代码如下:window.onload=function(){ document.documentElement.onmouseup=function(e){  e=e||window.event;            //alert(e.target);  //alert("IE:"+e.srcElement);      //alert(e.button+1);  var p=e.target?e.button+1:(e.button & 1 ? 1 : ( e.button & 2 ? 3 : ( e.button & 4 ? 2 : 0 ) )); //统一输出:左1 中2 右3  if(p==3){    alert("33333");  }  }} 第一个疑问就是  :   document.documentElement.onmouseup=function(e){  e=e||window.event;  网页是不是会自动去判断  如果是IE下的  就走 window.event不是就直接 e=e 第二个问题: e.srcElement IE 下的对象   e.target  FOX下的对象 这里他们的使用原理是什么?    谢谢大家了 百度了很久也没找到相关  !!!!

解决方案

1.e=e||window.event;这句话的意思,e对象存在时回返e,当window.event存在时返回event,这样就区分ff,ie了。2.这是一种规范,ie下支持e.srcElement,ff支持e.target,没啥原理。
解决方案二:
1.e=e||window.event; 就是或运算,结果返回不为undefined的那个值,如果2个都为undefined,则结果为undefined。2.实现方式不一样,也就是API不一样,跟原理扯不上关系

时间: 2024-08-07 22:09:09

e.target 和 e.srcElement 的使用问题的相关文章

IE event.srcElement和FF event.target 功能比较_javascript技巧

注意获取的标记都以大写表示,如"TD","TR","A"等 复制代码 代码如下: <div id="div_001"> <form id="form_001"> <input type="button" id="button_001_id" name="button_001_Name" value="单击查看

select 美化,基于jquery

起因是在实践中发现input的高度无法改变,也就是说再怎么调整,他的四周都会有空隙,当然只作用于IE,如果调整一下的话,FF下效果又不理想,没有什么好的解决方法,除非用图片模拟,为了追求完美,模拟就模拟吧. 本人习惯用jQuery,于是就找到了nicejform,专门用来美化表单的jquery插件.(我知道坛子上有相关的文章,我也参考过,但是美化不是我的强项,所以就想找现成的) 效果查看 看源码,可以发现没有另外添加样式,id之类的,所以如果不用这个插件了,页面也无需改动 众所周知,表单美化里面

JavaScript冒泡实例

什么是冒泡 简单的说就是触发一个子容器的事件,父容器的事件也会跟着被触发.     <div id="parentDiv" onclick="alert('parent');">       parent             <div id="childDiv" onclick="alert('child');">child</div>       </div>  在chil

Javascript在IE和FireFox中的不同表现

javascript 1. 对象问题 1.1 Form对象 现有问题:现有代码这获得form对象通过document.forms("formName"),这样使用在IE 能接受,MF 不能.解决方法:改用 作为下标运算.改为document.forms["formName"]备注上述的改用 作为下标运算中的formName是id而name 1.2 HTML对象 现有问题:在 IE 中,HTML 对象的 ID 可以作为 document 的下属对象变量名直接使用.在

COOL而实用的动态效果

动态 最近在做项目的时候,客户要求表格里的数据可以拖选,于是用JS写了个下面的方法.支持IE.FIREFOX等浏览器.实现对整行.整列数据的选取,全选.反选.清除,在数据表格内拖拉出的矩形范围的单元格数据全选. PS: 1.如果数据单元格没有数据,请将ID设为空或去掉ID,样式为"inactive".则选择时会跳过此单元格. 2.如果不想某个单元格被选,请将class设为"bg_green",则选择时会跳过此单元格. 运行代码框 <!DOCTYPE HTML

从零开始学习jQuery(二) 万能的选择器

一.摘要 本章讲解jQuery最重要的选择器部分的知识. 有了jQuery的选择器我们几乎可以获取页面上任意的一个或一组对象, 可以明显减轻开发人员的工作量. 二.前言 编写任何javascript程序我们要首先获得对象, jQuery选择器能彻底改变我们平时获取对象的方式, 可以获取几乎任何语意的对象, 比如"拥有title属性并且值中包含test的<a>元素", 完成这些工作只需要编写一个jQuery选择器字符串. 学习jQuery选择器是学习jQuery最重要的一步.

JavaScript操作DOM的那些坑

js在操作DOM中存在着许多跨浏览器方面的坑,本文花了我将近一周的时间整理,我将根据实例整理那些大大小小的"坑". DOM的工作模式是:先加载文档的静态内容.再以动态方式对它们进行刷新,动态刷新不影响文档的静态内容. PS:IE 中的所有 DOM 对象都是以 COM 对象的形式实现的,这意味着 IE 中的 DOM可能会和其他浏览器有一定的差异. Node 接口 firstChild 相当于 childNodes[0];lastChild 相当于childNodes[box.childN

javascript事件冒泡详解和捕获、阻止方法_javascript技巧

一.事件的发生顺序 这个问题的起源非常简单,假设你在一个元素中又嵌套了另一个元素 复制代码 代码如下: ----------------------------------- | element1                        | |   -------------------------     | |   |element2               |     | |   -------------------------     | |                 

JS实现的自定义右键菜单实例二则_javascript技巧

本文实例讲述了JS实现的自定义右键菜单.分享给大家供大家参考.具体如下: 示例1: 运行效果截图: 具体代码如下: <!DOCTYPE html> <html> <head> <title>JS实现自定义右键菜单</title> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <script src=&