Also versuche ich ein Formular auf Unschärfe zu schließen, z. Facebook Kommentare. Das Problem ist, ich hatte:Abschlussformular auf "Unschärfe" - Gibt es einen besseren Weg?
$(window).click(function(){ $('.comment_form').hide(); });
$('.comment_form').click(function(){ return false; });
Welche fein gearbeitet, jedoch durch das Hinzufügen, dass return false
, den Absenden-Button aufhebt, wenn darauf geklickt, als ich ging, um tatsächlich es live schalten.
dachte ich, das wäre logisch anstatt arbeiten:
$('*:not(.comment_form,.comment_form *)').click(function(eve)
{
$('.comment_form').hide();
});
Aber leider, ist es nicht, und ich nehme an, es ist, weil, wenn ich auf klicken, sagen wir, .comment_form
i auf body
eigentlich bin klicken, div
, div
... etc, so dass es tatsächlich mehrere Male versteckt.
um meine Arbeit war schließlich
$('*').click(function(eve)
{
if(!$(eve.target).is('.comment_form,.comment_form *'))
{
$('.comment_form').hide();
}
});
aber ich bin nicht so sicher, ob ich diese gerne und deshalb im fragen. Dies wird dieses Klickereignis mit jedem einzelnen Klick auslösen.
Hat jemand irgendwelche Vorschläge?
Ich bin sicher, dass die Antwort auf diese liegt auf der Hand , aber warum nicht '$ ('. comment_form input') verwenden. blur (function() {...})'? –
Da dies ein Formular ist, ist der Kommentarbereich ein Textfeld und ich möchte auch nicht, dass es geschlossen wird, wenn Sie es verpassen und direkt neben dem Senden klicken. –