Ich habe die folgenden jQuery-Funktionen:
1) Übermittelt das Formular
%Vor%2) Vergrößern Sie das Formular und zeigen Sie den Eingabeknopf
an %Vor%3) Verkleinert die Textfläche und blendet die Schaltfläche
aus %Vor%Das passiert, wenn ich versuche, einen Eintrag zu machen:
Ich denke, das bedeutet, dass die Unschärfe und das Klickereignis sich gegenseitig beeinflussen?
Hier finden Sie eine Geige des Problems . Wenn Sie den Knopf mit dem fokussierten Feld drücken , es verwischt das Feld, aber geht nicht hinein. Wenn Sie den Knopf mit dem unscharfen Feld drücken, wird der Eintrag gesendet.
Irgendwelche Ideen?
Vielen Dank im Voraus!
und behalten Sie die Fokus- und Weichzeichnungsfunktion wie zuvor.
%Vor% Dein Problem ist, dass click
auf der Schaltfläche auf mouseup
abfeuert, wenn du jedoch die Höhe änderst, kommt es dazu, dass deine Maus nicht mehr auf der Schaltfläche ist, wenn mouseup
passiert. Verwenden Sie mousedown
anstelle von click
und dann trigger('blur')
für textarea
, um beide Ereignisse zuzulassen.
Hinweis: Sie brauchen immer noch ein click
-Ereignis, damit Sie return false
die Standardfunktionen für die Formularübergabe löschen können.
Es sieht so aus, als ob Sie die Höhe ändern und einen Reflow erzwingen, um das Klickereignis zu löschen. Die einfachste Lösung besteht darin, entweder mousedown
anstelle von click (es wird vor der Unschärfe ausgelöst) zu verwenden oder die css-Änderung in eine setTimeout
einzufügen.
Tags und Links jquery