Если у вас есть контроль над источником, вы всегда можете прикрепить 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);
}
};
}
Этот фрагмент кода проксирует исходный AJAX-вызов JSF. Он использует jQuery для запуска события "JSFBegin". Интеграционный код может прослушивать это событие, используя механизм jQuery. Слушатель может отменить вызов jsf, используя event.preventDefault ().
Требования:
- JQuery
- Этот фрагмент кода должен быть помещен после загрузки jsf.js.