1

我在一个固定高度的容器中有一个 Kendo UI MultiSelect(想想模式弹出窗口)。MultiSelect 已将 autoClose 设置为 false。

随着用户选择多个项目(并且原始输入字段增长),MultiSelect 列表似乎随机关闭。

重现步骤:

任何见解都值得赞赏。

谢谢。

4

2 回答 2

0

我确定了一个解决方案。似乎下拉菜单在滚动事件之前被关闭。所以,我拦截了滚动事件,取消它,然后重新打开下拉菜单。

工作示例: http ://dojo.telerik.com/aWAQu/6

解决方案:

$('.caregiver-window-fixed-height').on('scroll', function (e) {
    var $widget = $('#careGiverHelpTags').data("kendoMultiSelect");

    if (e.type == "scroll" && $widget.wrapper.hasClass('k-state-focused') && $widget.list.is(':visible')) {
        e.preventDefault();
        e.stopImmediatePropagation();
        $widget.open();
    }
});
于 2017-04-11T16:29:04.277 回答
0

实际上它不是随机关闭的,而是在“弹出”容器在垂直空间用完时开始滚动时立即关闭。滚动事件导致下拉菜单关闭。overflow-y: none;如果您在弹出窗口中设置,您将看到问题消失。

我认为为 IE 解决此问题的唯一方法是通过一种解决方法来防止容器滚动。显然,这会对您产生一些 UI 影响,因此您需要决定是通过 CSS 还是使用将消耗滚动事件并取消它的 javascript。

您可以在此处的下拉列表中看到类似滚动问题的一些解决方案:http: //docs.telerik.com/kendo-ui/controls/editors/dropdownlist/how-to/appearance/prevent-close-on-scroll

在这里:http ://dojo.telerik.com/OJugu

并查看该线程:http://www.telerik.com/forums/scrolling-bug-causes-multiselect-dropdown-to-close-(with-dojo-example)

于 2017-04-11T14:30:33.423 回答