Roger: Alternative zu .one bzw spezielles Event

Beitrag lesen

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ß