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