Wir zeigen ein Feld auf dem Bildschirm, das ich ausblenden möchte, wenn der Benutzer irgendwo auf dem Bildschirm klickt, einschließlich Körper, Anker, divs, Schaltflächen usw. Gibt es einen Selektor, der dies für mich behandeln kann? Oder ist es ein Fall von $('body, a, div, input').click()
?jQuery click() Ereignis Catch-All?
10
A
Antwort
22
Sie können es wie folgt tun:
$(document).click(function() {
$("#boxID").hide();
});
Da die click
Ereignisse werden standardmäßig bubble up-document
, ist dies ein „catch all“ -Ansatz ... wenn Sie Klicks wollen nicht aus innerhalb das Feld, um es zu schließen, ein .stopPropagation()
Anruf auf dieseclick
Ereignisse wie folgt hinzu:
$("#boxID").click(function(e) {
e.stopPropagation();
});
0
Sie können nur an das click -Ereignis des Dokumentelements binden. Versuchen Sie es bei http://jsfiddle.net/ZqEbY/.