Hi,
Ich möchte, dass bei drücken der Enter Taste etwas passiert:
$this.keypress(function(event) {
if (event.keyCode == '13') {}});
> > Problematisch wird es für mich allerdings, dass ich hierfür die Funktion one benutzen muss:
>
> Warum \*musst\* du?
>
> > Wie kann ich jetzt das eine mit dem anderen verbinden, also one ein Event zuweisen, dass nicht bei jedem key sondern nur bei der Enter Taste (Key 13) ausgelöst wird?
>
> Der Event „Taste gedrückt“ findet statt unabhängig davon, um welche Taste es sich handelt - das kannst du immer erst anschließend in der Verarbeitung des Events feststellen.
>
> Die JQuery-Doku sagt mit bzgl. one;
> “This method is identical to .bind(), except that the handler is unbound after its first invocation.”
>
> Du willst also nur auf den ersten Druck der Taste Enter reagieren, auf alle weiteren nicht mehr?
>
> Dann nutze einen „normalen“ Event (bind), und entferne diesen (erst) dann vom Element, wenn wirklich der Tastencode 13 auftrat.
>
> MfG ChrisB
>
>
Mhh. Danke für deine Antwort. Ich glaube aber, just in dem Moment als ich hier gepostet habe, die Lösung gefunden zu haben.
~~~javascript
$this.one('pressEnter',function(){
//DO anything
});
$this.keypress(function(event) {
if (event.keyCode == '13') {
$this.trigger('pressEnter');
}});
Aber danke auch für deine Antwort. Ich werde mir das ganze nochmal anschauen.
Man will ja dazulernen. :)
Gruß