2012-03-29 7 views
0

Hallo Ich habe diese einfache Methode, die ausgelöst wird, wenn ich in ein Textfeld klicke..focus() Jquery ein Ereignis wird nur ausgeführt

<script type="text/javascript"> 
function pageLoad() { 
    $('input:text').focus(function() { 
     $('.txt-error-message-icon-email').fadeOut("slow"); 
     $('input:text').removeClass('txt-error-message'); 
    }); 
} 

Grundsätzlich ist die .focus Veranstaltung sollte einen div verblassen und eine Klasse zu entfernen, wenn ich in der Textbox klicken. Das funktioniert aber, wenn ich auf das Textfeld klicke, wird nur das div eingeblendet. Wenn ich dann aus dem Textfeld klicke und erneut klicke, wird die CSS-Klasse entfernt. Warum finden diese beiden Ereignisse nicht bei einem .focus-Ereignis statt?

+1

[konnte nicht reproduzieren] versuchen (http://jsfiddle.net/ yfrtu /) dieses Verhalten. –

Antwort

2
<script type="text/javascript"> 
function pageLoad() { 
    $('input:text').focus(function() { 
     $('.txt-error-message-icon-email').fadeOut("slow"); 
     $(this).removeClass('txt-error-message'); 
    }); 
} 

Versuchen Sie, diese

+0

Zweifellos würde es alles ändern. Obwohl es korrekt ist - das Verhalten sollte gleich bleiben – zerkms

+0

, aber es würde das aktuelle Objekt verweisen? ist es nicht? @zerkms –

+0

ja es würde. Wie ich schon sagte - Ihr Code ist korrekter, aber es würde immer noch die gleiche Arbeit machen. Soweit ich die Frage verstehe, hat OP Probleme damit, die Klasse überhaupt nicht zu entfernen. – zerkms

1

Ich bin nicht sicher, wie Ihre Frage nicht genug Details nicht teilt, aber diese

$(this).removeClass('txt-error-message'); 
Verwandte Themen