2013-04-22 47 views
1

是否可以使用java腳本禁用JSF2.1中的動態上下文菜單?在jsf中使用javascript禁用動態上下文菜單

document.getElementById("myForm:contextMenuId:contextMenuItemId").style.display = 'none'; 

這適用於如下所示的p:menuItem。

<p:contextMenu id="contextMenuId">     
    <p:menuitem id="contextMenuItemId" value="Hi"></p:menuitem> 
</p:contextMenu> 

我如何可以執行以下書面p類似的東西:文本菜單(動態)

<p:contextMenu id="contextMenuId1" model="#{myBean.model}" ></p:contextMenu> 
+1

你可以使用jquery來代碼:) – 2013-04-22 10:15:06

+0

沒有辦法實現這個使用良好的舊javascript? :( – Adarsh 2013-04-22 10:16:58

+0

Primefaces組件將所有div標籤導出到客戶端,在div標籤中,它有一個ul標籤,並且ul標籤有很多li標籤,所以你也可以使用Javascript :) – 2013-04-22 10:19:05

回答

0

我把它通過點擊工作在一個新的p:contextMenu中,在我不想呈現自定義contextMenu的所有情況下呈現爲false。 (我不能找到更好的解決方案,但這應該做的時間,直到我可以找到更好的方式)

0

可以在<p:outputPanel交換SVG:

<h:form> 
      <p:outputPanel id="test"> 
       <svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="190"> 
        <polygon points="100,10 40,180 190,60 10,60 160,180" 
          style="fill:lime;stroke:purple;stroke-width:5;fill-rule:evenodd;" /> 
       </svg> 
      </p:outputPanel> 
      <p:contextMenu for="test"> 
       <p:menuitem value="Save" 
          icon="ui-icon-disk"/> 
       <p:menuitem value="Update" 

          icon="ui-icon-arrowrefresh-1-w"/> 
       <p:menuitem value="Delete" icon="ui-icon-close" 
          ajax="false"/> 
       <p:menuitem value="Homepage" url="http://www.primefaces.org" 
          icon="ui-icon-extlink"/> 
      </p:contextMenu> 
     </h:form> 
+0

是的。這正是我所面臨的問題。如果我的SVG具有另一個多邊形並且都具有包含不同菜單項的上下文菜單,那麼我如何區分上下文菜單的目標? – Adarsh 2013-04-24 05:29:34

+0

對不起,我從來沒有組合html5 + primefaces。你需要在Primefaces的論壇上發帖:) – 2013-04-24 06:02:43

+0

沒問題,謝謝你的努力:) – Adarsh 2013-04-25 13:43:55