如何折叠dropkick drop down&点击网页内容时也关闭菜单?

时间:2013-11-13 11:34:12

标签: jquery google-chrome drop-down-menu cross-browser jquery-dropkick

我在网页上尝试使用以下代码来显示下拉菜单。我使用了 drop kick js。我正在使用jquery 1.9版本。

下拉在IE中工作正常,但它在chrome中无法正常工作。

我的代码是

        if ($.browser.msie) {
            $('body').click(function (event) {
                if (!$(event.target).parents('.dk_container').length || $(event.target).parent().attr('id') != $dk.attr('id')) {
                    _closeDropdown($dk);
                }
            });
        }
        else {
            $dk.bind('focus.dropkick', function (e) {
                $dk.addClass('dk_focus');
            }).bind('blur.dropkick', function (e) {
                $dk.removeClass('dk_open dk_focus');
            });
            $(document).click(function(){
                $('.dk_open').removeClass('dk_open');
            });
        }

在chrome中,我可以打开下拉菜单,如果我在菜单下方点击下拉关闭。但是我无法通过点击下拉列表来折叠菜单。

我的页面有多个下拉菜单。

2 个答案:

答案 0 :(得分:0)

我试过以下,工作正常

        $dk.bind('focus.dropkick', function (e) {
            $dk.addClass('dk_focus');
        }).bind('blur.dropkick', function (e) {
            $dk.removeClass('dk_open dk_focus');
        });
        $('body').click(function (event) {
            if (!$(event.target).parents('.dk_container').length || $(event.target).parent().attr('id') != $dk.attr('id')) {
                _closeDropdown($dk);
            }
        });

答案 1 :(得分:0)

批准的建议对我不起作用。无论你想要什么样的事件,dropkick下拉关闭,创建dropkick对象并传递select字段,并在事件的回调中调用对象上的.close()

$('.style').click(function(event) {
  new Dropkick('#the-dropdown').close()
})