因此,基本上我想做的就是确定输入栏中是否键入了“ y”,并且在按下Tab键时将y替换为“ youtube”。

Java脚本

var input = document.getElementById('searchbar').value;
var words = input.split(" ");

$("#searchbar").keydown(function(e) {
if(e.keyCode == 9) {
    e.preventDefault();
    if(input == 'y') {
        $('#searchbar').text('youtube');
    }
}
});


目前,我没有收到任何错误消息,它只是无法正常工作。 Tab键还将焦点从输入栏移开。

最佳答案

这就是为什么


您应该在keydown上获取值,而不是在页面加载时获取值,因为加载页面时值为空。
当您使用jquery时,使用jquery门面/选择器获取输入的当前值
最后,您更新输入框的值不是文本


尝试这个



    $("#searchbar").keydown(function(e) {
      var input = $('#searchbar').val();
      var words = input.split(" ");

     if(e.keyCode == 9) {
      if(input == 'y') {
        $('#searchbar').val('youtube');
      }
      e.preventDefault();
    }
    });

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
Enter Search Term
<input type="text" id="searchbar">

09-10 05:04
查看更多