jquery ui selectmenu滚动条不起作用

jyr*_*and 9 javascript jquery jquery-ui jquery-plugins select-menu

我使用jquery selectmenu插件.我已初始化选择

$('select').selectmenu({width:100, maxHeight:300, style: 'dropdown'});
Run Code Online (Sandbox Code Playgroud)

我有很多选项,这导致出现默认浏览器滚动条,但我无法使用它.如果我单击并尝试拖动此栏,则选择菜单关闭.我可以用鼠标滚轮滚动.css和各种插件可能存在一些冲突.但我不知道从哪里开始寻找.

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

Chr*_*ing 13

您可以在CSS中打开选项菜单的内容时设置最大高度,然后在可以使用的项目列表中显示滚动条.

ul.ui-menu { max-height: 420px !important; }
Run Code Online (Sandbox Code Playgroud)

如果您正在使用包含分配了类"ui-menu"的<ul>元素的其他jQuery UI小部件,则可能需要进一步限制CSS中的样式更改.


ale*_*nav 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 );
    }
});
Run Code Online (Sandbox Code Playgroud)

滚动条同意“if”子句中的条件,因此选择菜单关闭...

您可以注释“if”子句中的行,直到有人给出此错误的解决方案。这样,当您单击选择菜单时,选择菜单不会关闭,但当您选择任何选项时,它将关闭...

编辑:

好的,现在可以了。更改之前显示的部分:

$( 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 );
    }
});
Run Code Online (Sandbox Code Playgroud)

这样,由于滚动条是类“ui-selectmenu-menu-dropdown”的 div 的一部分...移动滚动条时 selectmenu 不会关闭。