我有一个包含一些对象的无序列表,当您单击<li>
时,列表将最小化,当您再次单击它时,它将展开。我在Accordion上使用jQuery UI的API,问题是我的<li>
内的复选框无法使用。我不可能让它工作,没有&#34;层&#34;在它上面。
我尝试过复选框position:absolute; z-index: 1000000000
,但没有结果。我也尝试过创建函数,这些函数会更新点击的值,但同样如此。没有运气......
不起作用的复选框是文字&#34; Publicera:&#34;
旁边的复选框查看我的JSFiddle,为什么赢得jQuery UI让我的复选框?
答案 0 :(得分:5)
只需添加此jquery事件,该事件将阻止任何父处理程序收到事件通知:
$("input[type=checkbox]").click(function(event){
event.stopPropagation();
});
答案 1 :(得分:4)
这是因为手风琴插件在标题元素点击事件中调用防止默认值,因此当您单击该复选框时,将阻止其默认操作。
一种可能的解决方案是停止在标题中传播click事件,这样它就不会触发手风琴标题点击处理程序。
$(".mm-panel").accordion({
collapsible: true
});
$(".mm-panel .ui-accordion-header input[type=checkbox]").click(function(e){
e.stopPropagation();
})
演示:Fiddle
答案 2 :(得分:3)
您必须阻止事件从复选框
向上传播$('#panels input[type="checkbox"]').click(function(e) {
e.stopPropagation();
});