nếu tôi có một div tôi đã hiển thị nhờ sự kiện nhấp chuột - một số điều dễ dàng là làm cho nó gần gũi nếu ai đó nhấp vào bất kỳ nơi nào bên ngoài div hoặc truy cập phím esc?Ẩn một div bằng phím esc, và tắt bấm? Trong Jquery
Trả lời
Ở đây bạn đi ...
$(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();
}
});
Live Demo:http://jsfiddle.net/S5ftb/
Đối với những người bạn của những người thích vani:
<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>
Phần tử chỉ được ẩn nếu nhấp chuột xảy ra * bên ngoài * của phần tử ... –
Yikes, bắt tốt; Tôi sẽ sửa lại. –
Cảm ơn bạn vì giải pháp không jquery! – Philipp
- 1. Liên kết phím bấm JQuery Esc
- 2. Cách tắt các phím Esc và con trỏ trong vim
- 3. jQuery: cách chụp phím bấm bằng live()
- 4. Jquery toggle (Bấm để hiển thị một div trong khi ẩn những người khác)
- 5. Kết hợp bấm phím và khóa - jQuery
- 6. Bạn có thể thêm phím tắt ESC Key không?
- 7. Phát hiện một phím bấm kép trong AutoHotkey
- 8. Hủy bỏ một phím tắt trong jQuery
- 9. Làm thế nào để ẩn bàn phím khi tôi bấm phím return trong một UITextField?
- 10. Mô phỏng bấm phím với jQuery
- 11. jquery bấm phím kiện cho cmd + s VÀ ctrl + s
- 12. Kết hợp phím bấm xử lý jQuery
- 13. Phím Esc và Enter trong hộp thoại Cocoa
- 14. Phím Esc bản đồ trong Vim
- 15. Bấm một phím với Java
- 16. jQuery ẩn div trên mouseout
- 17. Ẩn bàn phím mềm trên phím tắt được thực hiện trong Android?
- 18. Cuộn một div bằng jQuery
- 19. jQuery LazyLoad hình ảnh trong một div ẩn
- 20. Bấm phím Escape để gọi phương thức
- 21. Thứ tự thay đổi/phím tắt/nhấn phím trong jQuery
- 22. jQuery - Nếu tôi đang di chuyển một div bằng bàn phím
- 23. Xóa trường nhập văn bản trong Angular/AngularUI bằng phím ESC
- 24. Chức năng jQuery thực hiện trên nút Bấm và Enter/Return (phím)
- 25. Div (hộp thông báo) không ẩn trong thời gian chạy bằng cách sử dụng jQuery
- 26. JQuery hiển thị và ẩn div trên click chuột (animate)
- 27. Chuyển đổi giữa các div trong div khác bằng jQuery?
- 28. jQuery bind() unbind() và bật() và tắt()
- 29. Ẩn tất cả các div bằng javascript
- 30. jquery bấm phím() sự kiện nhận được văn bản
Với> 1K diện bạn nên biết tốt hơn để hỏi một câu hỏi như thế này - bạn đã thử cái gì? –
Liên kết người nghe sự kiện với những sự kiện đó và ẩn div. Xem [Làm cách nào để phát hiện một nhấp chuột bên ngoài một phần tử?] (Http://stackoverflow.com/questions/152975/how-to-detect-a-click-outside-an-element) và [Mã khóa nào cho khóa thoát với jQuery ] (http://stackoverflow.com/questions/1160008/which-keycode-for-escape-key-with-jquery). –
Tôi không có chuyên gia về JavaScript, nhưng điều này sẽ giúp: http://www.javascriptkit.com/jsref/eventkeyboardmouse.shtml. Sử dụng onKeyPress cho esc. Đối với nhấp chuột, có một div trong suốt hoặc một cái gì đó bao gồm toàn bộ trang, với div của bạn trên đầu trang. Đối tượng trong suốt này phải có onClick và nhấp chuột đó sẽ là nhấp chuột đóng. –