【发布时间】:2014-06-28 15:04:40
【问题描述】:
我有一个手动触发的下拉菜单,以便在外部执行任何点击时将其关闭(并且它是打开的)。
此代码适用于所有浏览器,但适用于 Android 版 Firefox。这是为什么呢?
就像事件参数没有到达函数一样。
var dropdownClicked = function(event){
$('.dropdown').toggleClass('open'); //IT WORKS FOR ALL OF THEM
//$(this).toggleClass('open'); //IT WORKS FINE IN EVERY BROWSER BUT FIREFOX-ANDROID
//$(this)[0].toggleClass('open'); //IT WORKS JUST FOR FIREFOX-ANDROID
event.stopPropagation();
};
$('.dropdown').click( function(event){ dropdownClicked(event) });
然后我有一个适用于所有人的版本:
$('.dropdown').click(function(event){
$(this).toggleClass('open'); //Works for all of them
event.stopPropagation();
});
如果您需要 html。这里是:
<ul class="nav navbar-nav">
<li class="dropdown">
<a class="dropdown-toggle" data-toggle="dropdown">Select projects <span class="caret"></span></a>
<ul class="dropdown-menu" aria-labelledby="download">
<li>
<a id="show-game" class="show-tag">Game Development</a>
</li>
<li>
<a id="show-web" class="show-tag">Web Development</a>
</li>
</ul>
</li>
</ul>
【问题讨论】:
-
尝试创建一个 jsFiddle 来重现您的问题。另外,您使用的是什么版本的 Bootstrap?
标签: javascript jquery twitter-bootstrap cross-browser twitter-bootstrap-3