我在网页上尝试使用以下代码来显示下拉菜单。我使用了 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中,我可以打开下拉菜单,如果我在菜单下方点击下拉关闭。但是我无法通过点击下拉列表来折叠菜单。
我的页面有多个下拉菜单。
答案 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()
})