0

Я не хочу, чтобы Dropstrap Dropdowns закрывался при нажатии ESC-Key.Как отключить Escape Key для Twitter Bootstrap Dropdowns?

Я попробовал следующий фрагмент кода без какого-либо успеха:

$(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, который об отключении ключа для бутстрэпами модальности. Решение для этого похоже data-keyboard="false". Есть ли аналогичное решение для Dropdowns?

Edit: См JSFiddle

+0

Добавить 'return false;' после предотвращения по умолчанию. Тогда это должно сработать. –

+0

Спасибо, но, к сожалению, это тоже не работает. событие keydown даже не кажется уволенным. – LocalHorst

+0

можете ли вы показать нам свой HTML-код? Итак, мы можем отладить ваш js-код и найти решение. – tfidelis

ответ

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'); 
    } 
}); 
Смежные вопросы