在Jquery UI手风琴的标题中动态创建复选框

时间:2013-07-16 03:05:01

标签: javascript jquery jquery-ui jquery-ui-accordion stoppropagation

我正在使用标题中的复选框从DB创建手风琴。我已经看到解决方案解决了点击复选框而不使用click()函数激活手风琴的问题,但由于我是动态创建手风琴,click()函数将无效。我不知道如何解决动态生成的手风琴标题中单击复选框的问题。

问题是click事件会在on('click')有机会运行e.stopPropagation之前激活手风琴。

任何想法?

1 个答案:

答案 0 :(得分:2)

问题是当您使用事件传播来注册事件处理程序时,它通常附加到body或层次结构中高得多的某些元素。因此,当执行附加到手风琴标题的事件时,会导致折叠/展开标签。

由于您是动态创建复选框,因此解决方案是添加click事件处理程序,以防止在创建复选框后传播。

例如:

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