se ho un div che ho mostrato grazie ad un evento click - quali sono alcuni è stato facile chiuderlo se qualcuno ha cliccato ovunque al di fuori del div, o ha colpito il tasto esc?Nascondere un div con il tasto esc e off click? In Jquery
risposta
Qui si va ...
$(document).on('click', function (e) {
if ($(e.target).closest(elem).length === 0) {
$(elem).hide();
}
});
$(document).on('keydown', function (e) {
if (e.keyCode === 27) { // ESC
$(elem).hide();
}
});
Demo online:http://jsfiddle.net/S5ftb/
Per quelli di voi che preferiscono la vaniglia:
<div id="div">Click me dude</div>
<script>
d = document.getElementById("div");
d.addEventListener("click", function(e){e.stopPropagation()},true);
addEventListener("click", function() {d.style.display="none"},false);
addEventListener("keypress", function(e){e.keyCode==27 &&(d.style.display="none")},false);
</script>
L'elemento deve essere nascosto solo se si verifica il clic * all'esterno * dell'elemento ... –
Yikes, buona cattura; Io rivedrò. –
Grazie per la soluzione non jquery! – Philipp
- 1. jQuery click off evento evento
- 2. JQuery mostrare e nascondere div al click del mouse (animato)
- 3. problema con il tasto click evento in jQuery
- 4. tasto Esc Bind in tmux
- 5. jQuery .Click non funziona con il tasto centrale
- 6. Nascondere i div dei genitori in Jquery
- 7. Come nascondere e mostrare un div con coffeescript - Rails 3.1
- 8. Come intercettare l'evento del tasto ESC jQuery Dialog?
- 9. utilizzando jQuery come mostrare e nascondere evento onClick diverso div
- 10. Prevenire il click through div
- 11. come nascondere tutti i div in jQuery
- 12. jQuery .focusout/.click conflict
- 13. jQuery bind() unbind() e on() e off()
- 14. jQuery Click() catch-all?
- 15. jQuery duplicato DIV in un altro DIV
- 16. jQuery evento Click On Div, Salvo Bambino Div
- 17. Il modo più semplice per nascondere/mostrare i div con JQuery
- 18. come mostrare/nascondere div per Select (jQuery)
- 19. Come catturare ESC in evento in JQuery Dialog?
- 20. come nascondere div con jquery quando si fa clic ovunque, tranne un div?
- 21. jQuery .on ('click') vs. .click() e .delegate ('click')
- 22. NCurses e ESC, tasti ALT
- 23. Trigger pressione tasto (keydown) con jQuery
- 24. jQuery '.each' e allegando evento '.click'
- 25. Come può il mio TComponent intercettare il tasto ESC e gestirlo?
- 26. clonazione di un div con jQuery
- 27. jQuery menu del tasto
- 28. Nascondere un div di default
- 29. JavaScript - Nascondere un Div all'avvio (caricamento)
- 30. jquery che attiva i gestori di eventi "on" e "off"
Con> 1K rep si dovrebbe sapere meglio di per fare una domanda come questa - cosa hai provato? –
Associare un listener di eventi a quegli eventi e nascondere il div. Vedi [Come rilevare un clic all'esterno di un elemento?] (Http://stackoverflow.com/questions/152975/how-to-detect-a-click-outside-an-element) e [Quale keycode per la chiave di escape con jQuery ] (http://stackoverflow.com/questions/1160008/which-keycode-for-escape-key-with-jquery). –
Non sono un esperto JavaScript, ma questo dovrebbe aiutare: http://www.javascriptkit.com/jsref/eventkeyboardmouse.shtml. Usa onKeyPress per esc. Per il clic, avere un div trasparente o qualcosa che copre l'intera pagina, con il div in cima. Questo oggetto trasparente dovrebbe avere un onClick e tale clic sarà il clic finale. –