JS関数を呼び出すためにJSFでボタンを作成する好ましい方法は何ですか?
実際に私は使用します:
<p:button onclick="myJSFunction();" href="#"/>
しかし、私の URL にはアンカー記号 ( #
) が末尾に付いています。
URL にリロード/ナビゲートせず、JS 関数を呼び出すボタンを作成する別の推奨される方法はありますか?
JS関数を呼び出すためにJSFでボタンを作成する好ましい方法は何ですか?
実際に私は使用します:
<p:button onclick="myJSFunction();" href="#"/>
しかし、私の URL にはアンカー記号 ( #
) が末尾に付いています。
URL にリロード/ナビゲートせず、JS 関数を呼び出すボタンを作成する別の推奨される方法はありますか?
これは、実際に に移動しているため#
です。ボタンがデフォルト アクション (現在のビュー、または または で指定された URL に移動する) を実行するのをブロックする必要がありhref
ますoutcome
。return false;
の末尾に追加することでこれを実現できますonclick
。
<p:button onclick="myJSFunction(); return false;" />
または、ボタンがデフォルトのアクションを継続するかどうかを決定する をmyJSFunction()
実際に返す場合は、それに委譲します。boolean
<p:button onclick="return myJSFunction();" />
は<h:button>
まったく同じように機能しますが、標準のルックアンドフィールのみです。
別の方法として、ナビゲーションなし<p:commandButton type="button">
で実数を生成するを使用することもできます。<input type="button">
この方法では、から false を返す必要はありませんonclick
。
<p:commandButton type="button" onclick="myJSFunction()" />
ただし、これには が必要<h:form>
です (ただし、フォームの外に配置しても機能が損なわれることはありません)。についても同様<h:commandButton>
です。