代码如下:
完全没有问题。
那么什么情况下不可以用?
这个就不可以,因为method()是被响应函数调用的函数。
那么这种情况下怎么办?
方法一:
没问题!
方法二:
没问题!window.event.srcElement取得触发事件的控件
我们在看一个稍微绕一点的例子
我们再来看看2者之间的区别和联系
this:
下面先看一个例子:
this与srcElement的区别
此时弹出的答案为“undefined”,说明在调用函数时不能使用this.属性来获取。再看下一个例子:
无标题页
此时得出的答案为“单击”,此时为什么可以呢?从代码中可以看出,在onclick事件调用函数btnClick()时,将this当作参数传递给了函数。
综合以上:在函数调用时不能直接使用this.属性来获取,而必须将this当作参数传递。
window.event.srcElement:
下面看一个例子:
无标题页
此时得出的答案为“单击”,说明在调用函数时可以使用window.event.srcElement.属性来获取。
为什么this不能直接使用而window.event.srcElement可以直接使用呢?从单纯的字面上说this的意思是“当前”。在函数调用时,没有指定具体是哪一个控件,在函数中直接用this是不可以的。在第二段代码中就将this当成了参数传递,所以能得出正确的答案。
其实this和window.event.srcElement的使用区别是:如果要直接使用this.属性,此时的函数不能是被调用的而必须是响应函数,而window.event.srcElement则无此。
以上所述就是本文的全部内容了,希望大家能够喜欢。
一二三四网还为您提供以下相关内容希望对您有帮助:
JS 中的 event?event:window.event什么意思?求详解。
ie下是event.srcElement 其他浏览器是event.target 所以获取这个对象和获取事件对象的值可以这样写 function Test(){var event = window.event||arguments[0],//target 就是这个对象target = event.srcElement||event.target,//这个对象的值targetValue = target.value;}
js中event.srcElement和event.target的区别
一、Javascript event.srcElement event.srcElement 可以捕获当前事件作用的对象,如event.srcElement.tagName可以捕获活动标记名称。注意获取的标记都以大写表示,如"TD","TR","A"等。所以把看过的一些抄下来,不记得的时候再来看看。 function tdclick(){ if(event.srcElement.tagName.toLowerCase()...
哪位大侠能帮我把这段移动div的js代码解读下!~~急!~~
this.targetobj=window.event? event.srcElement : e.target//获得鼠标时间的目标对象div if (this.targetobj.className=="drag"){//如果这个目标对象可以移动的话 this.dragapproved=1//领导批准移动!if (isNaN(parseInt(this.targetobj.style.left))){this.targetobj.style.left=0}//如果取不...
JavaScript 中的window.event代表的是事件的状态,但是我有一个疑问...
一、window.event代表着事件对象的状态。只有在事件发生时生效。如鼠标、键盘等事件被触发时这个对象才存在。window.event这只在IE下是这样的。他并不是标准。。也就是说其他浏览器并不支持。在W3C标准支持的浏览器下事件对向是引发事件涵数的第一个参数,参数名随意。二、javascript函数(方法)d()参...
JS停止冒泡和阻止浏览器默认行为
具体实现如下:使用原生JS阻止默认行为,但不会停止冒泡;使用jQuery则可同时阻止默认行为并停止冒泡。需要注意的是,不同浏览器在事件处理上存在差异。在Firefox中,事件对象是运行时的临时变量,而在IE和Opera中,事件对象的获取方式有所不同。例如,在IE中使用全局变量`window.event.srcElement`,而在...
JS问题event.srcElement.tagName.toLowerCase() == "td"
document.onclick = function(e){ e = e || window.event; src = e.target || e.srcElement; var table = parents(src , 'table');//这样可以拿到当前点击的这个元素的table var tr = parents(src , 'tr');//这样拿到当前点击的元素的父亲(tr); alert(table.id);//table的...
javascript怎么禁用浏览器后退按钮
1、复制代码 代码如下:利用JS产生一个“前进”的动作,以抵消后退功能,这种方法应该是最简洁的,并且不需要考虑用户连点两次或多次“后退”的情况,缺点是当用户端禁用了JavaScript之后即失效。2、复制代码 代码如下:Logout (Back Disabled)用location.replace从一个页面转到另一个页面。这种方法的原理是,...
IE和FF在对js支持的不同及解决方法
function mouseDownHandler(event) { var event = event || window.event;//var event = event ? event : window.event;var x = event.offsetX || event.layerX;var y = event.offsetX || event.layerY;} 3. event.srcElement IE:event对象有srcElement属性,但是没有target属性;FF:...
求救!本人才开始学习JS,好多都弄不懂。
//写js脚本的标签 function whichElement(e){ var targ if (!e) var e = window.event //如果传过来的事件为false(可以这么理解)就给它声明一个 if(e.target) targ = e.target //e.target表示点击的这个dom对象,如果存在,就赋值 else if (e.srcElement) targ = e.srcEleme...
web前端---JavaScript阻止冒泡和取消默认事件(默认行为)
注意事项: 在不同的浏览器中,事件对象和处理方式可能有所不同。例如,在IE和Opera中,event是全局变量,而在Firefox中,需要在事件处理函数中明确使用event。 事件源元素在不同浏览器中的属性也有所差异,如IE的window.event.srcElement与Firefox的event.target。因此,在编写跨浏览器兼容的代码时,需要...
Copyright © 2019- howto1234.net 版权所有
违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务