Javascript 如何检测窗口外的点击

Javascript 如何检测窗口外的点击,javascript,yui,Javascript,Yui,我有一个自定义的html下拉列表,编码为“ul”和“li”,当用户点击“ul”的头部时,我会显示选项。当用户点击菜单区域外时,我想隐藏这些元素 使用javascript/YUI而不是Jquery是否可以实现类似的功能?我不是YUI,所以我怀疑这可以写得更好一些,但我已经测试过了,它可以工作了 单击文档时隐藏下拉列表: Y.one(document).on("click", function(){ Y.one("#menu").hide(); }); 防止点击ul传播到文档中: Y.o

我有一个自定义的html下拉列表,编码为“ul”和“li”,当用户点击“ul”的头部时,我会显示选项。当用户点击菜单区域外时,我想隐藏这些元素


使用javascript/YUI而不是Jquery是否可以实现类似的功能?

我不是YUI,所以我怀疑这可以写得更好一些,但我已经测试过了,它可以工作了

单击文档时隐藏下拉列表:

Y.one(document).on("click", function(){
    Y.one("#menu").hide(); 
});
防止点击
ul
传播到
文档中:

Y.one("#menu").on("click", function(e){
    e.stopPropagation();    
});
如果访问者单击任意位置,单击将弹出
文档
,并隐藏菜单。如果他们单击菜单,将阻止事件冒泡到
文档
,因此菜单不会隐藏


演示:

使用('event-outside')
添加了对“outside”事件的支持。有关详细信息,请参阅用户指南:

@ajax333221否,上面的示例(尽管类似于jQuery)是YUI。非常感谢Jonathan,它对我有用。为了使用这一行代码,我们需要添加yui.yahooapi.com/3.5.1/build/yui/yui-min.js“>。