我正在使用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