jQuery UI的selectmenu滚动条不工作(jquery ui selectmenu sc

2019-09-19 13:27发布

使用jQuery插件selectmenu。 我已经初始化与选择

$('select').selectmenu({width:100, maxHeight:300, style: 'dropdown'});

我有很多选择,这会导致出现默认浏览器的滚动条,但我不能使用它。 如果我点击并尝试拖动该工​​具条,selectmenu关闭。 我可以用鼠标滚轮滚动。 有可能是在CSS和各种插件有些冲突。 但是我不知道从哪里开始寻找。

任何想法,什么可能导致这个问题?

Answer 1:

这似乎是在js文件的这一部分的问题:

// document click closes menu
$( document ).bind( "mousedown.selectmenu-" + this.ids[ 0 ], function( event ) {
    //check if open and if the clicket targes parent is the same
    if ( self.isOpen && !$( event.target ).closest( "#" + self.ids[ 1 ] ).length ) {
        self.close( event );
    }
});

滚动条中同意,“如果”的条款,因此selectmenu的关闭状态下...

你可以发表评论里面的“如果”的条款,直到有人给出了这个bug的解决方案就行了。 这样,selectmenu不会当你点击了它关闭,但是当你选择任何选项,它将被关闭...

编辑:

好吧,它的工作现在。 更改此人之前显示的部分:

$( document ).bind( "mousedown.selectmenu-" + this.ids[ 0 ], function( event ) {
    //check if open and if the clicket targes parent is the same
    if ( self.isOpen && !$( event.target ).closest( "#" + self.ids[ 1 ] ).length && !$(event.target).hasClass('ui-selectmenu-menu-dropdown')) {
        self.close( event );
    }
});

通过这种方式,滚动栏与类的div部分“UI-selectmenu菜单,下拉” ...... selectmenu不会移动滚动条时关闭。



Answer 2:

您可以设置最大高度为当它在CSS被打开selectmenu的内容,然后将可以使用的项目列表中出现滚动条。

ul.ui-menu { max-height: 420px !important; }

您可能需要,如果你使用的是其他的jQuery UI部件,其中包括与分配类的UI菜单“在<ul>元素在你的CSS来进一步限制这种风格的变化。



Answer 3:

一种解决方案给出了例如“选择数字”的的jQueryUI的演示页面 :

$('select').selectmenu().selectmenu("menuWidget").css("height","200px");


Answer 4:

如果你想设置最大高度由ID每个项目。 采用:

#select1-menu { max-height: 150px !important; }
#select2-menu { max-height: 200px !important; }

例如,您的selectmenu的id是“选择”使用:

#select-menu { max-height: 150px !important; }


Answer 5:

<!--JQUERY-->
$('.custom-combobox-toggle').on('click',function (e) {
      e.preventDefault();
      $('.ui-menu').addClass('custom-scroll');
});

<!--CSS-->
.ui-widget.ui-widget-content.custom-scroll {
    max-height: 300px;
    overflow: auto;
    display: block;
}


文章来源: jquery ui selectmenu scrollbar not working