Javascript 对于Firefox Android,下拉切换无法正常工作

Javascript 对于Firefox Android,下拉切换无法正常工作,javascript,jquery,twitter-bootstrap,cross-browser,twitter-bootstrap-3,Javascript,Jquery,Twitter Bootstrap,Cross Browser,Twitter Bootstrap 3,我有一个下拉列表,我手动触发它,以便在外部执行任何单击时关闭它(并且它是打开的) 这段代码适用于所有浏览器,但适用于Android版Firefox。为什么会这样? 这就像事件参数没有到达函数ok var dropdownClicked = function(event){ $('.dropdown').toggleClass('open'); //IT WORKS FOR ALL OF THEM //$(this).toggleClass('open'

我有一个下拉列表,我手动触发它,以便在外部执行任何单击时关闭它(并且它是打开的)

这段代码适用于所有浏览器,但适用于Android版Firefox。为什么会这样?
这就像事件参数没有到达函数ok

     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>
  • 选择项目
    • 游戏开发
    • 网络开发

黑暗中拍摄:FF被“这个”绊倒了。尝试将“$(this)”作为参数传递给dropdownClicked函数,并将其称为“X”。然后尝试:X.toggleClass('open')


试着创建一个JSFIDLE来重现您的问题。另外,您使用的是什么版本的引导?
var dropdownClicked = function(event, X){
    X.toggleClass('open');
};

$('.dropdown').click( function(event){ dropdownClicked(event, $(this)) });