jQuery click () Ereignis catch-all?
-
04-10-2019 - |
Frage
Wir sind auf dem Bildschirm ein Feld zeigen, dass ich zu verstecken wollen, wenn der Benutzer eine beliebige Stelle auf dem Bildschirm klickt, einschließlich Körper, Anker, divs, Knöpfe, etc ... Gibt es einen Selektor, der das für mich behandeln kann? Oder ist es ein Fall von $('body, a, div, input').click()
?
Lösung
Sie können es tun, wie folgt:
$(document).click(function() {
$("#boxID").hide();
});
Da die click
Ereignisse werden standardmäßig sprudeln document
, ist dies ein Ansatz „alle fangen“ ... wenn Sie nicht wollen, Klicks von innen das Feld, um es zu schließen, fügen Sie ein .stopPropagation()
rufen diejenigen click
Ereignisse wie folgt:
$("#boxID").click(function(e) {
e.stopPropagation();
});
Andere Tipps
können Sie binden nur auf das Click-Ereignis von Dokumentelement. Versuchen Sie es unter http://jsfiddle.net/ZqEbY/ .