有可能的onClientLoad事件处理程序添加到viewPanel中:追赶的页码寻呼机被点击
https://xcellerant.net/2013/01/14/viewpanel_onclientload
点击在onClientLoad寻呼机结果被解雇。
问:是否有可能捕获正在点击的传呼机的页码?
有可能的onClientLoad事件处理程序添加到viewPanel中:追赶的页码寻呼机被点击
https://xcellerant.net/2013/01/14/viewpanel_onclientload
点击在onClientLoad寻呼机结果被解雇。
问:是否有可能捕获正在点击的传呼机的页码?
在XPage的onClientLoad CSJS代码中为pager内的每个页面号添加一个点击事件。
使用dojo.query让寻呼机内全部标签:
dojo.query('[id$=pagerWithClickEvents] a').forEach(function(entry) {
entry.addEventListener("click", function() {
alert(this.innerHTML);
});
});
。这个XPage工作示例:
<?xml version="1.0" encoding="UTF-8"?>
<xp:view
xmlns:xp="http://www.ibm.com/xsp/core">
<xp:viewPanel
rows="3"
value="#{view1}"
id="viewPanel1">
<xp:this.facets>
<xp:pager
partialRefresh="true"
layout="Previous Group Next"
xp:key="headerPager"
id="pagerWithClickEvents">
</xp:pager>
</xp:this.facets>
<xp:this.data>
<xp:dominoView
var="view1"
databaseName="names.nsf"
viewName="People">
</xp:dominoView>
</xp:this.data>
<xp:viewColumn
columnName="$17"
id="viewColumn1">
<xp:viewColumnHeader
value="Name"
id="viewColumnHeader1">
</xp:viewColumnHeader>
</xp:viewColumn>
<xp:viewColumn
columnName="$16"
id="viewColumn4">
<xp:viewColumnHeader
value="E-Mail"
id="viewColumnHeader4">
</xp:viewColumnHeader>
</xp:viewColumn>
<xp:eventHandler
event="onClientLoad"
submit="false">
<xp:this.script><![CDATA[
dojo.query('[id$=pagerWithClickEvents] a').forEach(function(entry) {
entry.addEventListener("click", function() {
alert(this.innerHTML);
});
});
]]></xp:this.script>
</xp:eventHandler>
</xp:viewPanel>
</xp:view>
谢谢!它工作正常。但是,我不得不在viewPanel中添加dojo.query作为onClientLoad事件处理程序,否则它只会在第一次点击时触发,而不是在随后的点击中触发。我现在的下一步就是从CSJS中引发SSJS。 –
谢谢你,这是我错过的部分:) - 我更新了我的示例XPage。它现在也适用于查看面板内的寻呼机。 –
为什么你想/需要特定的“页面号码“的传呼机? –
为了同步导航解决方案中的iframe中显示的内容。每次点击时,我们每页有10篇文章。第3页,顶部文章(第21),然后应该被激活并显示。 –