为了账号安全,请及时绑定邮箱和手机立即绑定

键盘事件中的this能指代当前对象吗?

键盘事件中的this能指代当前对象吗?

qq_木生纹_0 2017-08-15 01:48:13
if(event.keyCode==13){      menu.style.display = 'none';      title.innerHTML=as[index].innerHTML;      }这样能够正常显示,如果按照下面这样写:if(event.keyCode==13){     menu.style.display = 'none';     title.innerHTML=this.innerHTML;     }把as[index]改成this,文本框里就会显示undefined,求教键盘事件中this指代的是整个文档还是什么?
查看完整描述

7 回答

?
慕神6131772

TA贡献10条经验 获得超6个赞

授人以鱼不如授人以渔,首先这种问题你要想着自己解决,你在this那一块添加一行console.log(this)在控制台打印出来是什么,那它就是什么。因为你的代码不全,所以我也不知道this是啥。如果打印出来了,你不明白为什么就去百度有关js this关键字的相关解析,弄清楚原由。祝你进步。

查看完整回答
1 反对 回复 2017-08-15
?
慕神6131772

TA贡献10条经验 获得超6个赞

很显然,这里this指代document,也就是整个文档。

查看完整回答
反对 回复 2017-08-16
?
跨越七海的_风

TA贡献25条经验 获得超5个赞

凭我的直觉,应该是的。

查看完整回答
反对 回复 2017-08-15
?
白山茶_

TA贡献2条经验 获得超0个赞

console.log(this)看他指向什么,应该是指向window,所以出现undefined

查看完整回答
反对 回复 2017-08-15
?
钱钱钱钱钱钱钱钱钱钱钱钱钱钱钱钱钱钱

TA贡献2条经验 获得超0个赞

你这个没有给出事件函数来,我们不知道上下文的对象,给出全码吧

查看完整回答
反对 回复 2017-08-15
  • qq_木生纹_0
    qq_木生纹_0
    全码已贴,求教,键盘事件中通过上下键进行选项的切换,当停在某一选项上时,按下回车键,这样this也不能指代停留的那个选项对象吗?_(:з」∠)_
  • 钱钱钱钱钱钱钱钱钱钱钱钱钱钱钱钱钱钱
    钱钱钱钱钱钱钱钱钱钱钱钱钱钱钱钱钱钱
    this代表当前事件的对象,你的事件是键盘事件onkeyup,onkeyup点前面的就是事件对象,你的是 document.onkeyup=function(event){ 所以当前事件的对象是document,也就是当前的HTML文档。
?
信者得救

TA贡献22条经验 获得超10个赞

this指向触发此事件的对象。

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>test</title>
</head>
    <style type="text/css">
    </style>
<body>
    <input type="text" name="" id="test">
    <script type="text/javascript">
        var test = document.getElementById('test');
        test.onkeydown = function(event) {
            if(event.keyCode === 13){
                alert(this.value);
            }
        };
    </script>
</body>
</html>


查看完整回答
反对 回复 2017-08-15
?
cnyballk

TA贡献148条经验 获得超93个赞

是指正在执行的上下文,全局的this就是window

查看完整回答
反对 回复 2017-08-15
  • 7 回答
  • 0 关注
  • 3253 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信