2

Я создаю гармошку из БД с флажками в заголовках. Я видел решения, которые решают проблему нажатия флажка без активации аккордеона с помощью функции click(), но поскольку я динамически создаю аккордеон, функция click() не будет работать. Я не понимаю, как решить проблему щелчка по флажку в динамически сгенерированном заголовке аккордеона.Динамически созданный флажок в заголовке JQuery UI Accordion

Проблема заключается в том, что событие click активирует аккордеон перед тем, как включить («щелчок») имеет шанс запустить e.stopPropagation.

Любые идеи?

+0

вы пытаетесь использовать эту http://api.jquery.com/on/? –

+0

Можете ли вы поделиться тем, как эти флажки создаются динамически –

ответ

2

Проблема заключается в том, когда вы используете распространение событий для регистрации обработчиков событий, оно обычно прикрепляется к body или некоторым элементам, которые намного выше в иерархии. Таким образом, к моменту, когда события, связанные с заголовками аккордеона, будут выполнены, что приведет к сглаживанию/расширению вкладки.

Поскольку вы создаете флажок динамически, решение заключается в добавлении обработчика события клика, предотвращающего распространение этого флажка после его создания.

Ex:

var chk = $('<input />', { type: 'checkbox'}); 
chk.click(function(e){ 
    e.stopPropagation(); 
}); 
chk.appendTo(accordionHeader) 
+0

Arun, Спасибо за быстрый ответ, отличное решение, работало как шарм! – alutz33

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