我在一個固定高度的容器(想想模態彈出窗口)中有一個Kendo UI MultiSelect。 MultiSelect將autoClose設置爲false。Kendo UI Multiselect在IE中過早關閉(dojo示例)
當用戶選擇多個項目(並且原點輸入字段增長)時,MultiSelect列表似乎會隨機關閉。
重現步驟:
- 負載http://dojo.telerik.com/aKeGu/4
- 開始在多選選擇每一個項目,直到多選關閉
任何瞭解被理解。
謝謝。
我在一個固定高度的容器(想想模態彈出窗口)中有一個Kendo UI MultiSelect。 MultiSelect將autoClose設置爲false。Kendo UI Multiselect在IE中過早關閉(dojo示例)
當用戶選擇多個項目(並且原點輸入字段增長)時,MultiSelect列表似乎會隨機關閉。
重現步驟:
任何瞭解被理解。
謝謝。
實際上它不是隨機關閉的,但是當「popup」容器在空間不足時開始滾動時就會關閉。滾動事件正在導致下拉菜單關閉。如果您在彈出窗口中設置了overflow-y: none;
,您會看到問題消失。
我認爲解決這個問題的唯一方法就是通過一個避免容器滾動的解決方法。很顯然,這會對你有一些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)
我確定一個解決方案。滾動事件之前,似乎該下拉菜單正在關閉。所以,我攔截滾動事件,取消它,然後重新打開下拉菜單。
工作例如: 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();
}
});
謝謝,我去滾動事件處理的路線。這與這些例子有點不同,但解決方案是相似的。 – comfortablEnum