1
我得到了一个下拉菜单,其中包含。花式卷轴是一个非常简单的库,它取代了默认的卷轴。只需添加一些HTML标记,滚动工作,甚至无需使用JavaScript进行初始化。阻止点击拖动时关闭引导程序下拉菜单
经过调试,看看发生了什么,我发现引导正在使我的下拉列表时点击拖动隐藏。
事件是'hide.bs.dropdown'。现在,我尝试了很多东西,设法使它工作,但唯一的问题是,无论何时我开始拖动,由于stopPropagation()函数,即使我释放,它仍将保持滚动nan-stap鼠标点击。
这些有几件事情,而谷歌搜索我尝试的事情是,没有一个涉及这种情况的解决答案,其中具有滚动条:
$('.dropdown-menu input, .dropdown-menu label, .thumb', element).click(function(e) {
e.preventDefault();
e.stopPropagation();
});
$('.thumb', element).on('mouseup', function(e) {
e.preventDefault();
e.stopImmediatePropagation();
return false;
});
$('.dropdown-menu .scrollbarY', element).click(function(e) {
e.stopImmediatePropagation();
});
$(element).on("hide.bs.dropdown",function(e) {
e.preventDefault();
return false;
});
我在寻找的行为,点击滚动拖拽(.thumb)不会关闭下拉菜单,但如果点击其中一个项目或离开下拉菜单,它应该关闭它。
当焦点位于另一个控件上时,关闭下拉菜单是标准浏览器行为。改变这可能会让用户感到惊讶。 –
但点击拖动上下滚动对于任何用户来说都是非常正常的,您不会期望完成拖动后关闭下拉菜单。 – msqar