仅当焦点不在文本框中时,禁用输入按钮

问题描述 投票:0回答:2

我正在尝试在项目的不同页面中使用母版页来开发Web应用程序。我需要避免按下Enter按钮,因为我无法控制会发生什么(我不知道焦点在哪里)。所以我添加了以下代码

<body  onkeydown="javascript:EnterKeyFilter();"> 

  function EnterKeyFilter() {
       if (window.event.keyCode == 13) {
       event.returnValue = false;
           event.cancel = true;
       }
   }

而且有效!如果我不小心按下Enter键,则什么也没有发生,而这正是我想要的!

问题是,当我在页面中的任何文本框中编写内容时,都需要使用Enter按钮。不在一个特定的文本框中,在我拥有的任何文本框中。我对Java语言还很陌生,所以如果这个问题很傻,请原谅我,但是有没有机会完成我提出的要求?谢谢

javascript keyboard-events
2个回答
0
投票

您可以使用

document.activeElement.tagName

获取当前关注元素的标签;您可以使用

document.activeElement.tagName == 'INPUT'

例如,希望对您有所帮助。


0
投票

您可以改用下面的代码:

 $("body").keypress(function(e) {
          if(e.which == 13 && e.target.localName != "textarea") {
              e.stopPropagation();
              e.preventDefault();
          }
 });
© www.soinside.com 2019 - 2024. All rights reserved.