javascript - If 语句(未单击按钮)

标签 javascript jquery if-statement click

如果在元素本身之外单击该元素,我想隐藏该元素。 als 但是如果点击菜单按钮则无法关闭。

现在我有以下代码:

$(document).mouseup(function test (e) {
  var button = $('.menu-button').data('clicked', true);
  var container = $(".sf-menu");
    if (!container.is(e.target) && container.has(e.target).length === 0 && button.data('clicked') == false) {
        container.hide();
    }
});

但问题似乎出在:

button.data('clicked') == false)

如何正确编写这段代码?

谢谢!

最佳答案

您需要使用 $(button).data('clicked') 而不是 button.data('clicked') 作为 button 将包含 $('.menu-button').data('clicked', true);

返回的 jquery 对象
$(document).mouseup(function test (e) {
  var button = $('.menu-button').data('clicked', true);
  var container = $(".sf-menu");
    if (!container.is(e.target) && container.has(e.target).length === 0 && $(button).data('clicked') == false) {
        container.hide();
    }
});

关于javascript - If 语句(未单击按钮),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42040808/

相关文章:

javascript - jQuery:动画完成后更改背景颜色

javascript - 在列表项上显示 div 单击 JQuery

javascript - 如何定义 jquery/javascript 状态?

php - Laravel 5.2 IF 语句语法,根据值更改名称

javascript - 预编译后缺少 Rails javascript Assets

java - 合并谷歌电子表格中的单元格

javascript - 用 div 包装链接组? (PHP 是一种选择)

javascript - 在 jQuery 中 trim 部分链接

jquery - 如果 div 不包含任何文本,则隐藏该 div

c# - 如果 x of y 值相等