700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > JS中的THIS和WINDOW.EVENT.SRCELEMENT详解【javascript】

JS中的THIS和WINDOW.EVENT.SRCELEMENT详解【javascript】

时间:2022-06-24 09:44:29

相关推荐

JS中的THIS和WINDOW.EVENT.SRCELEMENT详解【javascript】

web前端|js教程

THIS,WINDOW.EVENT.SRCELEMENT

web前端-js教程

我们先看一个简单的例子:

免费o2o商城系统源码,ubuntu查看路径命令,装两个版本的tomcat,黑暗雷姆爬虫,php程序怎么写定时任务,辽阳网站seolzw

完全没有问题。

php源码论坛,ubuntu 界面卡顿,tomcat设置运行路径,网络爬虫txt,php网页版本升级,SEO在一家小企业做好不好lzw

那么什么情况下不可以用?

jq轮播图插件源码,树莓派安装vscode命令,ubuntu创建域,tomcat 6 改端口,爬虫馆问题,php写服务器,广州问答seo哪家有名,旅游网站jsp源码下载,wap网站模板下载lzw

fuction method(){ alert(this.value);}

这个就不可以,因为method()是被响应函数调用的函数。

那么这种情况下怎么办?

方法一:

fuction method(btn){ alert(btn.value);}

没问题!

方法二:

fuction method(){ alert(window.event.srcElement.value);}

没问题!window.event.srcElement取得触发事件的控件

我们在看一个稍微绕一点的例子

function InitEvent() {var inputs = document.getElementsByTagName_r("input");for (var i = 0; i 0) { this.style.backgroundColor = "white";}else { this.style.backgroundColor = "red";} }

我们再来看看2者之间的区别和联系

this:

下面先看一个例子:

this与srcElement的区别" function btnClick(){ alert(this.value); }

此时弹出的答案为“undefined”,说明在调用函数时不能使用this.属性来获取。再看下一个例子:

无标题页function btnClick(btn){ alert(btn.value); }

此时得出的答案为“单击”,此时为什么可以呢?从代码中可以看出,在onclick事件调用函数btnClick()时,将this当作参数传递给了函数。

综合以上:在函数调用时不能直接使用this.属性来获取,而必须将this当作参数传递。

window.event.srcElement:

下面看一个例子:

无标题页function btnClick(){ alert(window.event.srcElement.value); }

此时得出的答案为“单击”,说明在调用函数时可以使用window.event.srcElement.属性来获取。

为什么this不能直接使用而window.event.srcElement可以直接使用呢?从单纯的字面上说this的意思是“当前”。在函数调用时,没有指定具体是哪一个控件,在函数中直接用this是不可以的。在第二段代码中就将this当成了参数传递,所以能得出正确的答案。

其实this和window.event.srcElement的使用区别是:如果要直接使用this.属性,此时的函数不能是被调用的而必须是响应函数,而window.event.srcElement则无此限制。

以上所述就是本文的全部内容了,希望大家能够喜欢。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。