【发布时间】: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