当显示上下文菜单时,
如果用户点击离开上下文菜单,
应该把它藏起来。
如何实现此功能?
是否可以侦听click_out,当检测到它时,隐藏上下文菜单并清除该侦听器?
发布于 2010-01-14 22:11:34
您可以绑定到body.click以隐藏它。任何其他元素上的任何单击事件最终都会气泡到主体:
$('body').click(function() {
$('#menu').hide();
});
上面的例子假设你的自定义菜单的ID是' menu‘。根据需要更换。
根据你的菜单的工作方式(如果你有嵌套的菜单,你可以点击打开),你可能想要绑定一些东西到它里面的点击,以使用e.stopPropagation()
停止事件;
要清除监听程序,可以执行以下操作:
$('body').click(function() {
$('#menu').hide();
$(this).unbind('click');
});
发布于 2010-01-14 22:11:14
您可以将onclick处理程序添加到文档中,然后检查事件目标是否为菜单。如果单击位于菜单上,则不执行任何操作,否则将其隐藏。
jQuery(document).click(function(event) {
if(event.target==$('context-menu'){
$('context-menu').hide();
$(this).unbind('click');
}
}):
发布于 2010-01-15 21:55:54
下面是一些工作代码的片段:
document.onclick = Tree.hideContext;
Tree = {
hideContext: function() {
$("#context").hide();
}
}
https://stackoverflow.com/questions/2064566
复制相似问题