Javascript 界面菜单,打开时关闭,用户单击菜单外部
我正在尝试改进菜单的界面: 我认为在单击时切换是很好的,但我确实认为如果用户单击其他任何地方,例如屏幕的下角,菜单应该切换关闭(如果尚未关闭)Javascript 界面菜单,打开时关闭,用户单击菜单外部,javascript,jquery,Javascript,Jquery,我正在尝试改进菜单的界面: 我认为在单击时切换是很好的,但我确实认为如果用户单击其他任何地方,例如屏幕的下角,菜单应该切换关闭(如果尚未关闭) $(document).ready(function () { $('#nav li').mousedown(function () { $('ul #items').toggle(100); }); }); 如何以一种尽可能有效的方式实现这一点?如果菜单打开,我们是否需要跟踪每一次鼠标单击并查看它是否在菜单上?您需要
$(document).ready(function () {
$('#nav li').mousedown(function () {
$('ul #items').toggle(100);
});
});
如何以一种尽可能有效的方式实现这一点?如果菜单打开,我们是否需要跟踪每一次鼠标单击并查看它是否在菜单上?您需要将单击处理程序附加到关闭菜单的
文档上:
$('#nav li').click(function (e) {
e.stopPropagation();
$('ul #items').toggle(100);
});
$(document).click(function() {
$('#items').hide();
});
请注意,打开链接时需要stopPropagation
,以停止事件到达文档本身
$(document).ready(function () {
$('#nav li').mousedown(function (event) {
event.stopPropagation();
$('ul #items').toggle(100);
});
$(document).mousedown(function(e) {
$('ul #items').css('display','none'); //make all inactive`enter code here`
});
});