Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用文本区域时禁用键盘事件_Javascript_Html_Textarea - Fatal编程技术网

Javascript 使用文本区域时禁用键盘事件

Javascript 使用文本区域时禁用键盘事件,javascript,html,textarea,Javascript,Html,Textarea,我的网站是通过按下键盘上的按钮来导航的:输入、\、+、-,等等。。。我的问题是我有文本区域,当我按下这些按钮时,如果选择了文本区域,打字和按钮同时工作 我认为解决这个问题的最好方法是使用某种布尔运算。我尝试使用if(!x.hasFocus()){allow buttons to use},但此布尔值仅适用于整个文档,而不适用于特定的文本区域 那么,如何仅在用户当前正在访问textArea时禁用键盘按键的事件侦听器呢 我希望用户在使用textArea时能够使用enter、\、+,-键,但一旦tex

我的网站是通过按下键盘上的按钮来导航的:输入、\、+、-,等等。。。我的问题是我有文本区域,当我按下这些按钮时,如果选择了文本区域,打字和按钮同时工作

我认为解决这个问题的最好方法是使用某种布尔运算。我尝试使用
if(!x.hasFocus()){allow buttons to use}
,但此布尔值仅适用于整个文档,而不适用于特定的文本区域

那么,如何仅在用户当前正在访问textArea时禁用键盘按键的事件侦听器呢

我希望用户在使用textArea时能够使用enter、\、+,-键,但一旦textArea未被使用,这些按钮就应该执行某些功能,我正在使用addEventListener(“keyup”,function(){…})

document.addEventListener(“键控”,函数(事件){
var分型;
如果(document.activeElement.tagName==“TEXTAREA”){
输入=真;
}else{typing=false;}
if(document.getElementById(“body”).style.display==“block”&&
document.getElementById(“中间”).style.display==“无”){
if(计数器
您可能需要查看。使用的方式可以使事件在到达textArea元素时停止冒泡。我意识到我可以在检查document.activeElement.tagNames==“textArea”时使用if语句
 document.addEventListener("keyup", function(event){
      var typing;
      if(document.activeElement.tagName === "TEXTAREA"){
        typing = true;
       } else{typing = false;}

      if(document.getElementById("body").style.display === "block" && 
document.getElementById("middle").style.display === "none"){
        if(counter < divs.length && event.keyCode === 187 && !typing){
          //do things
        }
      }