2017-02-09 2 views
1

Ich möchte Text in ein Textarea-Eingabeelement mithilfe von Schlüsselereignissen in jquery einfügen. Ich weiß, dass es einfach mit .val() oder .html() Funktionen getan werden kann, aber es gibt einen Grund, dass ich Text mit keyevents setzen möchte. Im Folgenden ist mein Code:Setzen von Text in ein Eingabeelement mithilfe von Schlüsselereignissen und jquery

<!DOCTYPE html> 
<html> 
<body> 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script> 
<p>In this example, the text field gets focus immediately after the document window has been loaded.</p> 

<textarea id="myText"> </textarea> 

<script> 

$(function() { 
    document.getElementById("myText").focus(); 
    $('#myText').focus().trigger({ type : 'keypress', which : 65 }); 
    $('#myText').trigger(jQuery.Event('keypress', { keyCode: 65 })); 

}); 


</script> 

</body> 
</html> 

Ich habe es gegoogelt und erkannte, dass es zwei verschiedene Arten von Triggerereignissen ist mit Jquery. Ich habe beides versucht, aber keiner von beiden scheint zu funktionieren.

+0

'$ (" Körper "). Bind ('keydown', Funktion (e) { if (event.keyCode == 13) {// $ eingeben ('# myText'). Val ('ENTER'); } }) ' so etwas wie das? – MarcosRJJunior

+0

Nein. Wie ich schon sagte, weiß ich schon, wie man das macht. –

Antwort

0

Es sieht so aus, als ob Ihr Tastendruckereignis ausgelöst wird, aber da es nur ein Ereignis ist, glaube ich nicht, dass es tatsächlich Ihren Wert in das Feld eingibt. Wenn Sie von einem anderen Code, den Sie haben, erwarten, dass auf dem Tastendruck-Ereignis etwas passiert, dann gibt es ein anderes Problem.

Wenn Sie mit this fiddle demo vorführen, sehen Sie das Auslösen des Tastendruckereignisses.

den Code unten versuchen, den Wert des Eingabefeldes mit dem neuen keypress Wert zu ändern: wird

$(function() { 
    $('#myText').trigger(jQuery.Event('keypress', { keyCode: 65 })).val($("#myText") 
    .val() + String.fromCharCode(65)); 
}); 
0

Die Frage over there beantwortet. Kurze Schlüsselereignisse werden die tatsächliche Eingabe aus Sicherheitsgründen nicht ändern, aber es gibt ein Plugin namens "The $.fn.sendkeys Plugin", das Ihnen bei einer Problemumgehung helfen kann.

Verwandte Themen