微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用 Javascript 确定用户在网页上输入的位置并做出相应反应

如何解决如何使用 Javascript 确定用户在网页上输入的位置并做出相应反应

我是 javascript 新手,正在为具有文本输入部分的网页编写一个简单的书签。基本上我需要的是一种执行以下操作的方法-


if ( ! (text_section).onkeydown ) { 

     do whatever

}

用户在输入字段内输入时,我需要忽略键事件,否则每当用户按下键时触发整个页面的键事件。我确实知道 onkeydown 是一个事件侦听器/处理程序,我只是想更准确地解释我需要做什么。

解决方法

为您的文本部分使用 id,例如“myTextSection”。将addEventListener 应用到整个文档。如果 target 是其他任何东西,而不是文本字段,做任何事情

document.addEventListener("keydown",(event) => {
    if(event.target !== document.getElementById("myTextSection")){
         //do whatever;
    }
});

请注意,这种行为可能会让用户感到恼火,他们通过键盘(例如 tabspace 键)浏览您的页面。因此,您可能需要添加另一个 if 语句来检查 event.keyCode 是否为字母数字。在这种情况下,keyCode 在范围内

  • [47-58](0-9),
  • [64-91](A-Z)或
  • [96-123](a-z)
,

你应该给目标元素添加一个事件监听器:

targetElement.addEventListener('keydown',(e) => {
 // do something
});

https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener

也可以使用 onkeydown 属性:

targetElement.onkeydown = (e) => {
  // do something
}

https://developer.mozilla.org/en-US/docs/Web/API/GlobalEventHandlers/onkeydown

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。