某些按键事件在 Tampermonkey 上不起作用。

Some keypress events doesn't work on Tampermonkey.

我有一个 javascript 函数可以在 onkeypress 上做一些事情。我正在为 Chrome 使用 Tampermonkey,当我按下我分配的键时,该功能不会触发。相反,在 Greasemonkey 中,我对此没有问题。

这是我的代码:

var names=["Aries Virgo Leo","John Steve Bill Sarah","Keny Ben Lovendal"];
var i = 1;

window.onkeypress = function(e){
  if(e.keyCode == 113){ // the F2 key 
    document.getElementsByClassName("post-text-area")[0].value = names[0];
    document.getElementsByClassName("cmnt-btn")[0].click();


var repeat = setInterval(function start(){
if(i == names.length -1)clearInterval(repeat);
document.getElementsByClassName("reply")[0].click();
document.getElementsByClassName("post-text-area")[1].value = names[i];
document.getElementsByClassName("cmnt-btn")[1].click(); 
i++;
  },2000);}};

我不知道为什么 Chrome 不接受 F1-F12、Tab、Ctrl、Delete、Insert 等按键事件。是否可以更改此设置?

F2 不能被按键捕获。您应该使用 keydown 或 keyup。

用 Tampermonkey 试过,有效。