やりたいこと
h:commandLink
タグに対してマウスオーバー時のAjaxイベントを定義したい!
(ツールチップのパーツとして使いたい。)
パーツをクリックしても遷移やリロードが起こらないようにしたい!
実装
以下のように実装することで実現できました
<h:commandLink onclick="return false;">ツールチップ
<f:ajax event="mouseover" listener="#{hogeBean.hoge}" render="fuga"/>
</h:commandLink>
最初は
<a href="javascript:void(0)">遷移させない</a>
を真似て、h:commandLink
のhrefに当たる属性、outcomeを使って
<h:commandLink outcome="javascript:void(0)">遷移させない</h:commandLink>
のように書いたのですが、うまく動きませんでした。
mouseoverではなく、clickEventを扱いたい場合
hrefを指定しなければOK
レンダリング時に「href=#」と生成される。
<h:commandLink>クリック
<f:ajax event="click" listener="#{hogeBean.hoge}" render="fuga"/>
</h:commandLink>
同じような問題にあたった方の助けになれば幸いです。