使用JavaScript防止在Firefox中自动搜索

时间:2016-05-07 18:26:26

标签: javascript firefox keypress

我想使用JavaScript来禁用Firefox的自动搜索功能(即使没有明确调用Ctrl + F,搜索框也会出现在输入区域外的按键上)。

我可以用

$(window).keypress(function(e)
{
    e.preventDefault()
    // other code
}

但是这会禁用所有按键的默认操作,例如Ctrl + T以打开新选项卡。

有没有办法有选择地禁用搜索功能?

2 个答案:

答案 0 :(得分:1)

你可以阻止Firefox'搜索框中包含您希望在网页中按下的按键。所有其他人仍然会打开搜索框 - 这可能是一个很好的功能。

E.g。如果您希望输入数字键1 - 4,您可以使用:

$(window).keypress(function(e) {
  var keycode = (e.keyCode ? e.keyCode : e.which);
  // Prevent default for keys 1, 2, 3, 4
  if (keycode === 49 || keycode === 50 || keycode === 51 || keycode === 52) {
    e.preventDefault();
  }
});

答案 1 :(得分:0)

希望这会有所帮助:

var pressedKeys = [];
$(window)
  .keydown(function(e) {
     pressedKeys.push(e.which);
     if (pressedKeys.indexOf(70) !== -1 && pressedKeys.indexOf(17) !== -1) {
       e.preventDefault();
     }
  })
  .keyup(function(e) {
    var index = pressedKeys.indexOf(e.which);
    if (index !== -1)
     pressedKeys.splice(index, 1);
  });