如果在所选项目区域内单击滚动条,是否有办法防止多选控件展开以显示项目?
这里有一个“问题”的例子,至少我希望这不是理想的功能。我希望所选项目向下/向上滚动,而不是在多选控件中公开可选项目。
单击滚动条之前:
单击滚动条后:
如果在所选项目区域内单击滚动条,是否有办法防止多选控件展开以显示项目?
这里有一个“问题”的例子,至少我希望这不是理想的功能。我希望所选项目向下/向上滚动,而不是在多选控件中公开可选项目。
单击滚动条之前:
单击滚动条后:
多选列表在多选小部件上的 mousedown 事件上打开。当您单击元素滚动条时,也会触发与单击事件不同的 mousedown 事件。
改变这种行为的最简单方法是改变打开多选的事件。所以首先你必须停止原始事件:
var multiselectwrap = multiselect.element.closest('.k-multiselect').find('.k-multiselect-wrap');
multiselectwrap.on('mousedown', function(e){
e.stopPropagation();
});
其次,您可以在点击时触发打开多选:
multiselectwrap.on('click', function(e){
multiselect.open();
});
剑道道场示例:http ://dojo.telerik.com/urUYU
如果要在 mousedown 上保持小部件打开,则必须使用事件中的鼠标位置并检查是否单击滚动,这会使此代码复杂化。