首页 文章

如何禁用Twitter Bootstrap Dropdown的Escape键?

提问于
浏览
0

我不希望在按下ESC键时关闭Bootstrap Dropdown .

我尝试了以下代码段但没有成功:

$(document).on('shown.bs.dropdown', function (e) {
    $(document).on("keydown", $button, function (e) {
        var code = e.keyCode || e.which;
        if (code === 27) {
            e.preventDefault();
        }
    });
});

我找到了similar Question,这是关于禁用Bootstraps Modals的Key . 解决方案似乎是 data-keyboard="false" . Dropdown还有类似的解决方案吗?

Edit:JSFiddle

1 回答

  • 0

    我使用以下:

    $('#dropdown_id').on('hide.bs.dropdown', function (e) {
      if ($(this).hasClass('keepopen')) {
          $(this).removeClass('keepopen')
          e.preventDefault();
          e.stopPropagation();
          return false;
      }
    });
    

    当您希望下拉关闭并希望阻止它时,添加类'keepopen' . 在我的情况下,它是在下拉列表中键入输入元素:

    $('#input_id').on('keydown', function(e){
      if (e.which == 27) {
        $('#dropdown_id').addClass('keepopen');
      }
    });
    

相关问题