【问题标题】:Override show method from a Primefaces context menu从 Primefaces 上下文菜单覆盖显示方法
【发布时间】:2019-08-09 07:33:06
【问题描述】:

按照here 的示例,我尝试覆盖 Primefaces 上下文菜单的 show() 方法。

这是我的代码:

       <p:tree value="#{myTreeBean.mainTreeRoot}" id="myTree>
                       <p:ajax event="contextMenu" listener="#{myTreeBean.onRightClickSelectListener}" oncomplete="PF('serverTreeMenuVar').show()"/>
[...]
        </p:tree>

    <p:contextMenu widgetVar="myTreeMenuVar" for="myTree" id="myTreeMenu" model="#{myBean.contextMenuModel}"></p:contextMenu>

     <script>

                    $( function() {
                        PF('myTreeMenuVar').show = function(e) {
                    console.log('my function');
                    // call the generic implementation:
                    PrimeFaces.widget.ContextMenu.prototype.show.call(this,e);
                }
                    });


    </script>

不幸的是我得到了错误:

未捕获的类型错误:无法读取未定义的属性“pageX”


我正在使用 PF 7.0

【问题讨论】:

  • 您使用哪个版本的 PF?你试过 PF 7 吗?
  • 是的,我使用的是 PF 7.0
  • 如果您使用onclick="PF('myTreeMenuVar').show()" 不起作用?
  • 对我来说,它只是按他的方式工作。右键单击我的组件时,会出现菜单并将“我的功能”打印到控制台。您的项目中是否还有其他组件框架作品、JQuery 等?
  • 啊。抱歉,我的代码中有这行导致错误: 感谢帮助

标签: jsf primefaces contextmenu


【解决方案1】:

覆盖没问题,问题是由以下行引起的:

  <p:ajax event="contextMenu" listener="#{myTreeBean.onRightClickSelectListener}" oncomplete="PF('serverTreeMenuVar').show()"/>

特别是来自

oncomplete="PF('serverTreeMenuVar').show()"

【讨论】:

猜你喜欢
  • 2016-12-06
  • 2012-12-10
  • 2013-10-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-04-17
  • 1970-01-01
相关资源
最近更新 更多