今作っているWebアプリでリンクをダブルクリックで動作させるという要求が出たので、 どうやって実現するのか調べてみました。
通常のリンクを実装してみる
PrimeFacesの commandLink コンポーネントでリンクを実装します。
<p:commandLink value="Single Click" action="#{bean.onClick}" />ダブルクリックで動作するリンクを実装してみる
commandLink コンポーネントで実装すると、 onclick イベントで動作するようにレンダリングされてしまうので、
link コンポーネントで実装します。 href を指定するのがコツです。
link コンポーネントでは dblclick イベントだけを発生させ、実際の呼び出しは remoteCommand コンポーネントで行います。
<p:link href="#" value="Double Click" ondblclick="dblClickEvent()" />
<p:remoteCommand name="dblClickEvent" action="#{bean.onClick}" />