body标签如何获取

发布于 2022-09-07 19:49:54 字数 443 浏览 21 评论 0

$('body').keydown(function() {

         if (event.keyCode == "13") {//keyCode=13是回车键
             document.getElementById('btnSumit').click();
         }
     });

这行代码的$('body')换成原生document.body.keydown(function() {

         if (event.keyCode == "13") {//keyCode=13是回车键
             document.getElementById('btnSumit').click();
         }
     });

为何会报警document.body不是一个函数

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

哆兒滾 2022-09-14 19:49:55
document.body.onkeydown = function(){
   if (event.keyCode == "13") {//keyCode=13是回车键
       document.getElementById('btnSumit').click();
   }
}
╰ゝ天使的微笑 2022-09-14 19:49:55

原生js直接写是需要带on前缀的。onkeydownonclick

如果是addEventListener的就不需要on前缀

document.body.onkeydown = function(){
   if (event.keyCode == "13") {//keyCode=13是回车键
       document.getElementById('btnSumit').onclick();
   }
}

------

document.body.addEventListener("keydown",function(){
   if (event.keyCode == "13") {//keyCode=13是回车键
       document.getElementById('btnSumit').onclick();
   }
},false)
早茶月光 2022-09-14 19:49:54

首先 报错是Uncaught TypeError: document.body.keydown is not a function
document.body.keydown不是一个函数 而不是document.body

clipboard.png

其次keydown()这种是jQuery对象的实例方法,并不是dom实例上的方法。而且老老实实来,jQuery事件绑定规范一点的话都应写成

$("body").on("keydown",function(e){
    //你的逻辑
})

故而
我们应该写成

document.querySelector("body").addEventListener("keydown",function(e){
    //你的逻辑
})

为了之后能够有解绑的机会,最好单独给function一个引用 而非匿名函数

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文