按下选项卡时替换输入文本(Chrome扩展)

时间:2015-01-17 18:01:53

标签: javascript jquery html google-chrome google-chrome-extension

所以基本上我要做的就是确定输入栏是否有" y"键入其中,当按Tab键时,用" youtube"替换y。

的Javascript

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键还可以将焦点从输入栏移开。

1 个答案:

答案 0 :(得分:2)

这就是为什么

  1. 你应该在keydown上获得价值,而不是在页面加载时,因为在加载时页面值是空的。
  2. 当您使用jquery时,使用jquery facade / selector
  3. 获取输入的当前值
  4. 最后更新输入框值而不是文本
  5. 试试这个

    
    
        $("#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">
    &#13;
    &#13;
    &#13;