当谈到 JavaScript 时,我并不是最好的,并且坚持寻找解决方案。我在这里看到过类似的问题,但是当我尝试在我的情况下实现它时,它要么破坏了菜单,要么没有任何区别。
我正在尝试获取一个菜单(单击即可打开),不仅可以通过重复单击父菜单选项卡来关闭,还可以通过单击菜单外部(即任何地方)来关闭。
我的代码是:
var toggleUpdatesPulldown = function(event, element, user_id) {
if( element.className=='updates_pulldown' ) {
element.className= 'updates_pulldown_active';
showNotifications();
} else {
element.className='updates_pulldown';
}
}
该片段位于更多 JavaScript 的中间,这是默认的工作版本。来自用户的单击更改了菜单容器的类名,这决定了它是否显示。从这里的另一篇文章中,我尝试实现以下内容但无济于事,并允许单击关闭以更改类名:
var toggleUpdatesPulldown = function(event, element, user_id) {
if( element.className=='updates_pulldown' ) {
element.className= 'updates_pulldown_active';
showNotifications();
} else {
element.className='updates_pulldown';
}
ev.stopPropagation();
$(document).one('click', function() {
element.className='updates_pulldown';
});
}
关于解决这个问题的任何建议?我想学习更多 JavaScript,因为我似乎越来越多地使用它。