2016-08-12 1 views
0

Im Notwendigkeit imitieren drücken Kombination Tasten Ctrl + Wie kann ich nach dem Laden der Seite Run Trigger, die wird Kombination sein: Ctrl + im finden diesen CodeJavaScript (jQuery) Ereignisauslöser Strg + Pfeiltaste nach rechts

$("input").focus(); 
var e = jQuery.Event("keydown"); 
e.which = 75; // # Some key code value 
$("input").val(String.fromCharCode(e.which)); 
$("input").trigger(e); 

, aber ich verstehe nicht, wie ich insted kann

e.which = 75; // # Some key code value 

schreiben

e.which = ctrl code + right arrow code; // # Some key code value 
+0

Klingt wie ein X/Y-Problem. Du willst X machen, du denkst, Y (schickt Ctrl + RighArrow an die Eingabe) wird es tun, also hast du gefragt, wie man Y macht. Du solltest wahrscheinlich besser nachfragen wie man X macht. (Als separate Frage ; * diese * Frage wurde bereits im Bereich festgelegt.) –

Antwort

1

Der Keycode für Pfeil nach rechts, ist 39; Sie können das leicht feststellen, indem Sie es einhaken und sich anschauen, welchen Wert Sie für which für ein echtes Ereignis erhalten.

Um anzuzeigen, dass die Strg-Taste gedrückt ist, setzen Sie ctrlKey auf true für das Ereignis.

Nach dem Fokussieren der Eingabe möchten Sie wahrscheinlich den setTimeout(..., 0) Trick tun, um dem Browser eine Chance zu geben, dies tatsächlich zu tun. So

:

setTimeout(function() { 
 
    $("input").focus(); 
 
    setTimeout(function() { 
 
     var e = jQuery.Event("keydown"); 
 
     e.which = 39; // 39 = right-arrow 
 
     e.ctrlKey = true; 
 
     $("input").trigger(e); 
 
    }, 0); 
 
}, 300);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> 
 
<input type="text" value="one two three">

Das heißt, es nicht eigentlich die Aktion auf Chrome ausführen und ich wäre nicht überrascht, wenn es auch nicht auf anderen Browsern der Fall ist.

+0

im Versuch var e = jQuery.Event ("keydown"); e.which = 39; // 39 = Rechtspfeil e.ctrlKey = true; $ ("Körper"). Auslöser (e); –

+0

aber es funktioniert nicht, Ereignis nicht ausgeführt –

+0

@ ИванСеменов Siehe den letzten Absatz der Antwort und den Kommentar zu der Frage. –

Verwandte Themen