将光标放在keyup上文本的末尾

时间:2017-08-18 20:09:22

标签: javascript html angular

我正在使用命令行所具有的相同功能。当您输入一些命令然后按下向上键按钮时,您将看到之前的命令。

现在我已经完成了所有工作并且工作正常,但我遇到了一个小问题。

我现在遇到的问题是,当按下=IMPORTXML("https://www.facebook.com/greatbigstory/videos/1727744637527962/","//div[@class='_1vx9']") 键时,光标位于命令的开头,而当使用up按钮时,光标位于命令的 end

预期的行为是光标将放在结束两者。

是什么让它与其他问题有所不同?

  • 焦点已经在输入字段上。
  • 使用向下按钮



down

setTimeout(function() {
var inputs = document.querySelectorAll('input');

inputs[0].onkeydown = function(e){
  //keyup
  if(e.keyCode == 38) {
    inputs[inputs.length-1].value = 'up pressed';
  }
  
  if(e.keyCode == 40 ) {
      inputs[0].value = 'down pressed';
  }
}
}, 1000);




1 个答案:

答案 0 :(得分:2)



setTimeout(function() {
var inputs = document.querySelectorAll('input');

inputs[0].onkeydown = function(e){
  //keyup
  if(e.keyCode == 38) {
    // placed here, it prevents the key's default behaviour to go at the end of the input text
    e.preventDefault();
    inputs[inputs.length-1].value = 'up pressed';
  }
  
  if(e.keyCode == 40 ) {
      inputs[0].value = 'down pressed';
  }

}
}, 1000);

<!DOCTYPE html>
<html>

  <head>
    <link rel="stylesheet" href="style.css">
    <script src="script.js"></script>
  </head>

  <body>
    <input type="text" placeholder="press the up or down key"/>
  </body>

</html>
&#13;
&#13;
&#13;