单击拖动时防止关闭引导下拉列表

时间:2016-04-26 17:33:39

标签: javascript jquery html css

我有一个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)不会关闭下拉列表,但如果点击其中一个项目或远离下拉列表,它应该关闭它。

1 个答案:

答案 0 :(得分:0)

好的,经过几个小时的挣扎,我所做的测试组合解决了这个问题。 如果有人遇到同样的问题,这就是我所做的:

(scrollbarY是拖拉的父级)

      $('.scrollbarY', element).click(function(e) {
        e.preventDefault();
        e.stopImmediatePropagation();
        return false;
      });

希望它适用于所有人。