如果在元素本身之外单击该元素,我想隐藏该元素。 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);
$(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/