2009-03-30 23 views
0

Ich habe ein Problem in der Hilfe von JQuery. JQuery geben meine Eingabe, um die Verwendung von Fallwechsel zu erhöhen. der Code:jquery Änderung Ereignis Trigger

#(".inp").bind("change",function(){ 
    if(isNaN(this.value)){ 
    this.value = 0; 
    } 
} 

Als ich zum ersten Mal Zeichen einzugeben, passiert ändern Fall, Eingangswerte auf 0 geändert Aber wenn ich die gleichen Zeichen ein zweites Mal eingeben, ändern nicht geschieht.

Antwort

1

Es sieht so aus, als ob Sie vielleicht das Tastendruckereignis verwenden möchten, nicht die Änderung.

+0

Dies ist nur ein Beispiel. :) –

2

Von jQuery documentation:

Die Änderungsereignis ausgelöst wird, wenn ein Steuerelement den Eingabefokus und verliert seinen Wert hat sich seit gewinnt Fokus geändert.

Also, es hat nur einmal gefeuert. Und deshalb hast du das Verhalten, das du hast. Ich würde the KeyDown event verwenden, weil

Das Keydown-Ereignis wird ausgelöst, wenn eine Taste auf der Tastatur gedrückt wird.

dieses Ereignis nutzen zu können, um so etwas zu tun haben:

$('.inp').keydown(function(event){ 
    switch (event.keyCode) { 
    // ... 
    // different keys do different things 
    // Different browsers provide different codes 
    // see here for details: http://unixpapa.com/js/key.html  
    // ... 
    } 
}); 
+0

Danke, ich kenne diese Methode, aber ich brauche Change Event. Darüber hinaus existiert dieses Problem nur in IE6. –

Verwandte Themen