1

Итак, вот этот аккордеон Bootstrap3 с последовательными панелями. У каждого есть кнопка, которая закрывает ее и открывает следующую: следующий шаг, если хотите.Предотвратите вскрытие панели bootstrap3

Однако, если (определенные условия не выполняются), следующая панель не должна открываться. Другие вещи также не должны происходить, но они под контролем. Дело в том, что следующая панель шагов открывается, если (условия не выполняются), и я хочу предотвратить это.

Я добавил следующее слушателю событий, но безрезультатно. Что делать, чтобы правильно предотвратить открытие следующей панели?

$('#my-panel').on('hidden.bs.collapse', function (aTicketPanelCollapsedEvent) { 
    aTicketPanelCollapsedEvent.preventDefault(); 
    // I expected this to work but unfortunately it doesn't 
    }); 
+0

вы можете сделать скрипку? –

ответ

0

Я бы попытался использовать либо show.bs.collapse, либо hide.bs.collapse. Вы используете hidden.bs.collapse, который вызывается после того, как событие уже произошло.

0

Я считаю, что preventDefault() не позволяет браузеру выполнять свое действие по умолчанию в ответ на событие. Поскольку событие «hidden.bs.collapse» не является событием браузера, preventDefault() ничего не делает.

0

Я думаю, вам нужно обработать «hide.bs.collapse». Проблема с использованием «скрытого» заключается в том, что сбой уже произошел.

$('#my-panel').on('hide.bs.collapse', function (e) { 
    e.preventDefault(); 
}); 

Демо: http://bootply.com/78023

Смежные вопросы