【问题标题】:disable dynamic context menu using javascript in jsf在 jsf 中使用 javascript 禁用动态上下文菜单
【发布时间】:2013-04-15 04:48:12
【问题描述】:

是否可以使用 java 脚本禁用 JSF2.1 中的动态上下文菜单?

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:contextMenu(dynamic) 执行类似的操作

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

【问题讨论】:

  • 你可以使用jquery来编码:)
  • 没有办法使用旧的 javascript 来实现这一点? :(
  • Primefaces组件将所有div标签中的内容导出到客户端,在div标签中,它有一个ul标签,而ul标签有很多li标签,所以你也可以使用Javascript:)
  • 您是否尝试在 bean 中为 menuitem 设置 id,并使用您的解决方案?
  • 我不能这样做,因为模型可以有任意数量的菜单项。

标签: javascript css jsf-2 primefaces contextmenu


【解决方案1】:

在我不想呈现自定义 contextMenu 的所有情况下,我通过单击呈现为 false 的新 p:contextMenu 使其工作。 (我找不到更好的解决方案,但在我找到更好的方法之前应该这样做)

【讨论】:

  • 你的解释很糟糕
【解决方案2】:

你可以在&lt;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>

【讨论】:

  • 是的。这正是我面临的问题。如果我的 SVG 有另一个多边形并且两者都有带有不同菜单项的上下文菜单,我如何区分上下文菜单的目标?
  • 对不起,我从不结合 html5 + primefaces。您需要在 Primefaces 的论坛上发帖 :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-09
  • 1970-01-01
  • 1970-01-01
  • 2016-09-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多