我有一个fancy scroll的下拉列表。 Fancy Scroll是一个非常简单的库,它取代了默认的滚动。只需添加一些HTML标记,滚动就可以使用javascript进行初始化。
调试后看看发生了什么,我发现 bootstrap 在点击拖动时隐藏了我的下拉列表。
该事件为' 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)不会关闭下拉列表,但如果点击其中一个项目或远离下拉列表,它应该关闭它。
答案 0 :(得分:0)
好的,经过几个小时的挣扎,我所做的测试组合解决了这个问题。 如果有人遇到同样的问题,这就是我所做的:
(scrollbarY是拖拉的父级)
$('.scrollbarY', element).click(function(e) {
e.preventDefault();
e.stopImmediatePropagation();
return false;
});
希望它适用于所有人。