2016-06-15 31 views
1

有可能的onClientLoad事件处理程序添加到viewPanel中:追赶的页码寻呼机被点击

https://xcellerant.net/2013/01/14/viewpanel_onclientload

点击在onClientLoad寻呼机结果被解雇。

问:是否有可能捕获正在点击的传呼机的页码?

+1

为什么你想/需要特定的“页面号码“的传呼机? –

+0

为了同步导航解决方案中的iframe中显示的内容。每次点击时,我们每页有10篇文章。第3页,顶部文章(第21),然后应该被激活并显示。 –

回答

1

在XPage的onClientLoad CSJS代码中为pager内的每个页面号添加一个点击事件。
使用dojo.query让寻呼机内全部标签:

dojo.query('[id$=pagerWithClickEvents] a').forEach(function(entry) { 
     entry.addEventListener("click", function() { 
      alert(this.innerHTML); 
     }); 
    }); 

enter image description here

。这个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> 
+1

谢谢!它工作正常。但是,我不得不在viewPanel中添加dojo.query作为onClientLoad事件处理程序,否则它只会在第一次点击时触发,而不是在随后的点击中触发。我现在的下一步就是从CSJS中引发SSJS。 –

+0

谢谢你,这是我错过的部分:) - 我更新了我的示例XPage。它现在也适用于查看面板内的寻呼机。 –