我正在使用jQueryUI Accordion,并动态生成元素。如果我们点击标题内的删除操作链接,我需要阻止手风琴扩展。
要在使用.live()进行绑定后停止执行其他处理程序,处理程序必须返回false。调用.stopPropagation()不会实现此目的。
return false
没有运气。请参阅demo。
答案 0 :(得分:1)
由于jQuery仅支持event bubbling and not event capturing,我认为用live()
实现你想要的东西并不会太运气。设计决策可能是因为IE不支持事件捕获,即使W3C的规范具有两者的灵活性。
最好的办法是在重新启动手风琴之前,将一个点击事件附加到删除按钮后立即插入DOM(以停止事件传播)。您可能需要注意不要将click事件多次绑定到现有的删除按钮。
伪代码看起来像这样:
.accordion('destory')
<h2>...<a class="revmoe">...</a></h2><div>...</div>
.accordion({..})
关于jQuery中事件捕获的帖子:
答案 1 :(得分:0)
只需使用插件给定的函数:
$('#accordion').accordion({active:8, disabled:true});
jQuery('.remove').click(function(){
$('#accordion').accordion('disable');
})
我选择了“active:8”选项,因为这样就没有从头开始打开标题(索引-1对IE不起作用)。检查功能和选项:http://docs.jquery.com/UI/Accordion
希望这是你要找的东西: - )