jQuery hide() 不隐藏 div

标签 jquery html

我的问题是这里的 jsfiddle:

http://jsfiddle.net/luisfalcon/wPEhW/

基本上,如果您尝试关闭窗口,它不会这样做。

如果我删除 js 的 show() 部分,它将关闭它!

$(document).ready(function () {
    $("#printer").click(function () {
        $("#printerMenu").show();
    });
    $("#printerMenuClose").click(function () {
        $("#printerMenu").hide();
    });
});

有些东西告诉我这是一个非常简单的修复,但我找不到答案!

提前致谢

最佳答案

printerMenuClose 单击事件冒泡并再次显示 printerMenu。要隐藏它,请停止事件传播。

这应该可行

$(document).ready(function () {
    $("#printer").click(function () {
        $("#printerMenu").show();
    });
    $("#printerMenuClose").click(function (e) {
        $("#printerMenu").hide();
        e.stopPropagation();
    });
});

fiddle here

您还可以阅读有关事件传播的更多信息:

http://api.jquery.com/event.stoppropagation/

关于jQuery hide() 不隐藏 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24730361/

相关文章:

javascript - 在JS中使用回调操作局部变量

javascript - 使用或单击输入时不允许拖动

html - 在浏览器窗口重新缩放时将 div 和图像与背景封面对齐

javascript - jQuery 验证插件 : Unable to get property 'setdefaults' of undefined or null reference IE

javascript - Jquery unwrap() 方法?

javascript - 重定向到 PDF 时像素跟踪代码不起作用

css - 使两个并排的div的高度相等

html - 列表项中的剪辑图像

javascript - jQuery - 根据父类处理子点击

jquery - 触摸移动设备上的 Bootstrap 3 子菜单下拉菜单