2

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

使用 javascript/YUI 而不是 Jquery 可能会发生这样的事情吗?

4

2 回答 2

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/

于 2012-05-25T04:48:11.050 回答
2

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

于 2012-05-25T18:07:30.260 回答