如何检测外部窗口的点击

时间:2012-05-25 04:45:29

标签: javascript yui

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

javascript / YUI不是Jquery可以这样吗?

2 个答案:

答案 0 :(得分:4)

我不是YUI的家伙,所以我怀疑这可以写得更好一点,但我已经测试了它并且它有效。

在点击文档时隐藏下拉列表:

Y.one(document).on("click", function(){
    Y.one("#menu").hide(); 
});

阻止点击ul传播到document

Y.one("#menu").on("click", function(e){
    e.stopPropagation();    
});

如果访问者在任何地方点击,则点击将冒泡到document,并隐藏菜单。如果他们点击菜单,将阻止事件冒泡到document,因此菜单不会被隐藏。

演示:http://jsfiddle.net/nHnZT/

答案 1 :(得分:2)

use('event-outside')增加了对“外部”事件的支持。有关详细信息,请参阅用户指南:http://yuilibrary.com/yui/docs/event/outside.html

相关问题