target = e.target || e.srcElement

//鼠标点击出现下拉菜单,点其他地方,缩回去。document.addEventListener("mousedown", function(e) {
var target = e.target || e.srcElement;
while (target != document && target != popup) {
target = target.parentNode;
}
if (target == document) {
popup.hide();
}
}, false);

其中popup是菜单元素,popup.hide()隐藏菜单nav.onclick = function () {     var e = arguments[0] || window.event,     target = e.srcElement ? e.srcElement : e.target;
}// 些段代码怎么解释。
nav 是页面的一个元素的name,比如按钮或者图片等等。
.onclick 是对这个元素注册事件。
function 里面是点击的时候执行的代码。
其中 var e = arguments[0] || window.event 中的arguments是该function的参数数组,即所有参数,而 arguments[0] 就是第一个参数,在火狐浏览器里面点击事件(onclick)的第一个参数就是event(点击事件对象),但是IE里面不是,所以为了确保 e 是“点击事件对象”所以使用“||”。你可能只需要知道,这里变量e就是一个事件对象。这个事件对象有一些固有属性 比如 e.srcElement 就是这个事件的目标,通俗的说就是click谁,在这里就是第一行所说的 nav 元素。 e.srcElement 只有IE浏览器才有效, 而在火狐里面应该是这样:e.target ,所以  target = e.srcElement ? e.srcElement : e.target;
这一行就是确保 前面的target是事件触发的元素,即 nav。
时间: 2024-11-03 21:27:36

target = e.target || e.srcElement的相关文章

make: *** No rule to make target `out/target/common/obj/APPS/framework-res_intermediates/src/R.stamp'

/********************************************************************************** * make: *** No rule to make target `out/target/common/obj/APPS/framework-res_intermediates/src/R.stamp' * 说明: * 编译ethernet的遇到这个依赖没编译的问题. * * 2017-4-27 深圳 龙华民治樟坑村 曾剑锋

e.target与e.e.srcElement

document.onclick=function(event){ var e=event?event:window.event; var ee=e.target||e.srcElement; alert(ee.tagName); } document.onkeydown=function(event){ //alert(event); //var e=event||window.event; //alert(e); var e =event?event:window.event; if(e.k

event.srcElement 用法笔记e.target

event.srcElement 可以捕获当前事件作用的对象,如event.srcElement.tagName可以捕获活动标记名称. 注意获取的标记都以大写表示,如"TD","TR","A"等.所以把看过的一些抄下来,不记得的时候再来看看. 代码如下: 1 <script type="text/javascript"> 2 function tdclick(){ 3 if(event.srcElement.tag

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

ie 下的event.srcElement从字面上可以看出来有以下关键字:事件.源(它的意思就是:当前事件的源), 我们可以调用他的各种属性就像:document.getElementById("")这样的功能, event.srcElement 可以捕获当前事件作用的对象, 如event.srcElement.tagName可以捕获活动标记名称. firefox 下的 event.target = IE 下的 event.srcElement 这是一种规范,ie下支持e.srcEle

事件获取目标 currentTarget target srcElement三者之间的区别和联系

currentTarget   指的是触发事件的当前对象,可以是冒泡和捕获的对象,不一定是点击或者鼠标移入等事件的直接触发对象.可以是他的父元素等. target 指的是事件触发的直接对象.IE有兼容问题. srcElement 和target相同,firFox不兼容. 获取直接目标对象的兼容写法 var target = e.target || e.srcElement

event.srcElement与event.target的区别

window.event.srcElement与window.event.target 都是指向触发事件的元素,它是什么就有什么样的属性 srcElement是事件初始化目标html元素对象引用,因为事件通过元素层次冒泡,可以在任意一层进行处理, 有了元素的引用,就可以读写改元素的属性. IE浏览器支持window.event.srcElement , 而firefox支持window.event.target: event.srcElement从字面上可以看出来有以下关键字:事件,源 他的意思

捕获当前事件作用的对象event.target和event.srcElement

语法: //返回事件的目标节点(触发该事件的节点). event.target //FF,Chrome event.srcElement //IE 栗子: var oDiv=document.getElementById("div1"); oDiv.onclick=function (ev) { var oEvent=ev||event; //oEvent.target ie7以下不兼容 if (oEvent.target) { console.log(oEvent.target.id

e.target和e.event和event.srcElement

e.target 是目标对象,e.event是目标所发生的事件,event.srcElement捕获当前事件作用的对象 1. 1 $(function(){ 2 $("li:has(ul)").click(function(e){ 3 if(this==e.target){ 4 $(this).children().toggle(); 5 $(this).css("list-style-image",($(this).children().is(":hid

Javascript中event.srcElement和event.target的区别

event.srcElement 可以捕获当前事件作用的对象,如event.srcElement.tagName可以捕获活动标记名称.注意获取的标记都以大写表示,如"TD","TR","A"等.所以把看过的一些抄下来,不记得的时候再来看看. <script type="text/javascript">    function tdclick(){        if(event.srcElement.tagNam