我正在尝试使用以下客户端代码从数据表中的链接调用弹出菜单
XSP.openMenu(thisEvent,'{javascript:getComponent("popupMenuNew").getMenuCtor()}');
但是当我单击该链接时,它只会将我带到同一页面的顶部,我注意到它无法将 cleintside 代码识别为链接。 我还有其他方法可以从 XPages 链接调用 popupMenu 吗?
链接位于具有某些 boostrap 表属性的数据表中:
<xp:this.attrs>
<xp:attr name="data-toggle" value="table"></xp:attr>
<xp:attr name="data-show-columns" value="true"></xp:attr>
<xp:attr name="data-mobile-responsive" value="true"></xp:attr>
<xp:attr name="data-check-on-init" value="true"></xp:attr>
</xp:this.attrs>
完整链接代码:
<xp:link escape="true" id="link1"
title="Create Document">
Neu 
<xp:this.rendered><![CDATA[#{javascript:if (rowDataEntry.isDocument()){
return true;
}
else{
return false;
}}]]></xp:this.rendered>
<xp:image id="image4" url="/actExpand.gif"></xp:image>
<xp:eventHandler event="onclick" submit="false"
id="eventHandler2">
<xp:this.script><![CDATA[var url = XSP.openMenu(thisEvent,'#{javascript:getComponent("popupMenuNew").getMenuCtor()}');
var l = window.location;
if (url != l) {
window.location.replace(url);
}
]]></xp:this.script>
</xp:eventHandler>
</xp:link>
最佳答案
XSP.openMenu() 不需要重新加载页面,因此请尝试以下操作:
<xp:link escape="true" id="link1" title="Create Document">
Neu 
<xp:this.rendered>
<![CDATA[#{javascript:
if (rowDataEntry.isDocument()){
return true;
} else {
return false;
}
}]]>
</xp:this.rendered>
<xp:image id="image4" url="/actExpand.gif"></xp:image>
<xp:eventHandler event="onclick" submit="false" id="eventHandler2">
<xp:this.script>
<![CDATA[XSP.openMenu(thisEvent,'#{javascript:getComponent("popupMenuNew").getMenuCtor()}');]]>
</xp:this.script>
</xp:eventHandler>
</xp:link>
关于javascript - XPages:使用 xpages 链接的 “onclick ” 事件打开下拉菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39673128/