Firefox-Android下拉切换功能无法正常工作

时间:2014-06-28 15:04:41

标签: 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');       //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>

1 个答案:

答案 0 :(得分:1)

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

var dropdownClicked = function(event, X){
    X.toggleClass('open');
};

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

http://jsfiddle.net/8d25m/