ソースを制御している場合は、常にonClickをUICommandコンポーネントに添付できます。しかし、状況によっては、ソースにアクセスできません。たとえば、ajaxはサードパーティ製のコンポーネントによって提供されます。あなたはそれらの構成要素を台無しにしたくありません。
まず、小さなjsライブラリがあります。
var FxJSFBegin = "JSFBegin";
if (jsf) {
var originalRequest = jsf.ajax.request;
jsf.ajax.request = function(source, oevent, options) {
var event = $.Event(FxJSFBegin);
event.options = options;
event.originalEvent = oevent;
$(source).trigger(event);
if (event.isDefaultPrevented()) {
return;
} else {
originalRequest.apply(null, arguments);
}
};
}
このピースコードはオリジナルのJSF ajax呼び出しをプロキシします。 jQueryを使用して「JSFBegin」イベントを発生させます。統合コードはjQueryメカニズムを使用してこのイベントを聴くことができます。リスナーはevent.preventDefault()を使用してjsf呼び出しを取り消すことができます。
要件:jsf.jsがロードされた後
- jQueryの
- この作品コードを配置する必要があります。