如果我有一个div我已经显示感谢点击事件 - 有什么容易的是使其关闭,如果有人在div外部的任何地方点击,或点击esc键?用esc键隐藏div,然后点击?在jquery
11
A
回答
45
在这里你去...
$(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();
}
});
9
对于那些你们谁喜欢香草:
<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>
+1
元素只有在元素的外部*发生* – 2012-02-17 18:47:04
+0
时才应该隐藏,我会修改。 – 2012-02-17 19:28:40
+0
感谢非jquery解决方案! – Philipp 2017-06-04 11:07:33
相关问题
- 1. jQuery - 隐藏div,然后点击显示
- 2. 的jQuery DIV点击后隐藏不IE8
- 3. jquery和点击隐藏div
- 4. 在身体点击div隐藏,当我点击div也隐藏
- 5. 如何在jquery中隐藏esc按键上的数组div
- 6. 使用jQuery隐藏父母div点击
- 7. 隐藏div随机点击使用jquery
- 8. 使用jQuery点击显示/隐藏div
- 9. 使用jQuery点击其他div后隐藏特定的div
- 10. jQuery在点击时隐藏多个div
- 11. 使用jQuery显示/隐藏div,然后在该div内显示/隐藏div
- 12. 用jquery点击右键隐藏图片
- 13. jQuery - 点击隐藏目标和其他DIV,然后滚动到目标DIV
- 14. 隐藏然后删除Jquery Draggable Div
- 15. 在外部点击或后退键被按下时隐藏div?
- 16. 隐藏在ESC按键弹出一个DIV使用JavaScript
- 17. 一次点击后添加/隐藏div
- 18. 加载内容隐藏div后点击
- 19. 点击/播放后隐藏#div
- 20. jquery - 隐藏div点击正文
- 21. jQuery隐藏点击外部的div
- 22. Jquery - 点击DIV并隐藏元素?
- 23. 隐藏两个DIV并点击三分之一,然后反转
- 24. 当点击除指定的div以外,然后隐藏下拉
- 25. Android:按钮点击后隐藏键盘
- 26. 在图像上显示div点击然后在x秒后隐藏它
- 27. 点击显示Div,在Div显示Div1内3秒,然后隐藏
- 28. 点击显示/隐藏div
- 29. 点击隐藏容器div
- 30. 隐藏DIV点击包装
随着> 1K代表你应该知道优于问这样的问题 - 你有什么尝试? – 2012-02-17 18:37:28
将事件监听器绑定到这些事件并隐藏div。请参阅[如何检测元素外部的点击?](http://stackoverflow.com/questions/152975/how-to-detect-a-click-outside-an-element)和[哪些键码用于jQuery转义键](http://stackoverflow.com/questions/1160008/which-keycode-for-escape-key-with-jquery)。 – 2012-02-17 18:38:23
我不是JavaScript专家,但这应该有所帮助:http://www.javascriptkit.com/jsref/eventkeyboardmouse.shtml。使用onKeyPress for esc。对于点击,有一个透明的div或东西覆盖整个页面,你的div在上面。这个透明的对象应该有一个onClick,这个点击就是关闭点击。 – 2012-02-17 18:39:00