我在“ul”和“li”中编码的 html 中有一个自定义下拉列表,当用户单击“ul”的头部时显示选项我想在用户单击菜单区域外时隐藏这些元素。
使用 javascript/YUI 而不是 Jquery 可能会发生这样的事情吗?
我在“ul”和“li”中编码的 html 中有一个自定义下拉列表,当用户单击“ul”的头部时显示选项我想在用户单击菜单区域外时隐藏这些元素。
使用 javascript/YUI 而不是 Jquery 可能会发生这样的事情吗?
我不是 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/
use('event-outside')
添加对“外部”事件的支持。有关详细信息,请参阅用户指南:http: //yuilibrary.com/yui/docs/event/outside.html