我正在使用PrimeFaces 3.4可折叠面板。实际解决方案的问题在于通过点击右侧的小按钮来切换面板。它不是非常符合人体工程学,用户希望通过点击标头上的任何位置来切换。如何通过点击标题使p:面板可折叠?
这就是我想要实现的:通过点击标题触发切换并移除切换按钮。这是我写的东西:
$('.ui-panel-titlebar').each(function(){
var header = $(this);
var widgetId = 'widget_' + header.attr('id').replace(/:/g, '_').replace(/_header$/, '');
header.css('cursor', 'pointer');
var toggler = header.find('a[id$=_toggler]');
toggler.remove();
header.click(function(){
window[widgetId].toggle();
});
});
但我不喜欢这样的解决方案,因为首先我猜的JavaScript小部件编号,和第二,我去除DOM树渲染的切换按钮和我宁愿它不会被渲染。
有没有办法以更优雅的方式达到相同的效果,而无需编写太多的代码(因此,无需重写p:panel
)?作为解决方案,使用基于与PrimeFaces相同的许可证的扩展(商业友好)是可以接受的。
AccordionPanel是内容切换器,所以它与我的完全不同。 – 2013-03-06 14:48:40