Primefaces Mobile - DataTable - 在事件taphold发生之前选择行

时间:2016-01-15 23:26:49

标签: javascript jquery-mobile primefaces jsf-2.2 primefaces-mobile

我在PrimeFaces Mobile中遇到了DataTable和事件taphold的问题。

问题:

  • 如果我在数据表中使用事件taphold,则会在选择行之前发生事件。

所需的行为:

  • 点击或手指触摸选择行(视觉上通过行的不同背景颜色)。如果我按下足够长的时间,还会发生事件。[/ li>

第一个想法,解决问题

  • 我认为,问题是,对于行选择,.mouseup() - 事件负责而不是mousedown() - 事件。因此,我必须在taphold事件发生之前更改事件,以选择行。但我不知道怎么做。

当前源代码:

<p:dataTable id="music_songs" var="music" value="#{musicPlayerBean.musicSongs}" selectionMode="single" 
         selection="#{musicPlayerBean.selectedMusicSong}" rowKey="#{music.id}" style="background: white;"
         paginator="true" rows="25" tableStyleClass="ui-table-columntoggle" emptyMessage="keine Musik-Songs vorhanden">

     <p:ajax event="taphold" oncomplete="alert('Hallo');"/>

     <p:column headerText="Interpret" priority="1" sortBy="#{music.interpret}">
         <h:outputText value="#{music.interpret}"/>
     </p:column>

     <p:column headerText="Titel" priority="1" sortBy="#{music.title}">
         <h:outputText value="#{music.title}" />
     </p:column>

     <p:column headerText="Dauer" priority="2" sortBy="#{music.duration}">
         <h:outputText value="#{music.durationAsString}"/>
     </p:column>

     <p:column headerText="Album" priority="2" sortBy="#{music.album}">
         <h:outputText value="#{music.album}"/>
     </p:column>
 </p:dataTable>

Examples for mobile data tables on PrimeFaces-Website

版本:

  • JSF 2.2
  • Java 1.7
  • Glassfish 4
  • PrimeFaces 5.2

0 个答案:

没有答案