如果您有控制源,您可以隨時將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調用。
要求:
- jQuery的
- 這塊代碼應放置jsf.js之後被加載。