2016-07-30 30 views
0

Ich habe eine JavaScript-Funktion, die etwas auf onkeypress tut. Ich benutze Tampermonkey für Chrome und wenn ich die Taste drücke, die ich zugewiesen habe, wird die Funktion nicht ausgelöst. In Greasemonkey dagegen habe ich kein Problem damit.Einige Tastendruckereignisse funktionieren nicht mit Tampermonkey.

Hier ist mein Code:

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);}}; 

Ich weiß nicht, warum Chrome F1-F12 nicht wichtige Ereignisse wie akzeptieren, Tab, Strg, Löschen, Einfügen usw. Ist es möglich, dies zu ändern?

Antwort

1

F2 kann nicht mit Tastendruck abgefangen werden. Sie sollten entweder Keydown oder Keyup verwenden.

Mit Tampermonkey versucht, es funktioniert.

+0

tat ich. Immer noch kein Glück ... – EddNewGate

+1

@Edd hat gerade einige Tests gemacht, bearbeitet. – nicael

+0

Yup. Jetzt funktioniert es! Danke für den guten Vorschlag :) – EddNewGate