Bitrix обработчики JS событий внутри своего модуля
Всем привет!
Подскажите, как правильно писать обработчики событий для JS если я разрабатываю собственный модуль? Обычные обработчики событий пишутся в install/index.php с помощью метода registerEventHandler, а вот как быть, если я хочу написать обработчик JS события?
Хочу отловить событие открытия окна задачи в CRM Bitrix24. То есть когда пользователь либо открывает уже существующую задачу, либо нажимает кнопку "Создать", чтобы создать новую задачу в CRM.
Хочу чтоб обработчик Ajax-запросы подтягивал данные с внешнего ресурса, и я бы эти данные уже вставлял в форму создания новой задачи.
Подскажите пожалуйста, куда копать?
Ответы (1 шт):
// Подслушать Все JS события в Bitrix
let originalBxOnCustomEvent = BX.onCustomEvent;
BX.onCustomEvent = function (eventObject, eventName, eventParams, secureParams)
{
// onMenuItemHover например выбрасывает в другом порядке
let realEventName = BX.type.isString(eventName) ?
eventName : BX.type.isString(eventObject) ? eventObject : null;
if (realEventName) {
console.log(
'%c' + realEventName,
'background: #222; color: #bada55; font-weight: bold; padding: 3px 4px;'
);
}
console.dir({
eventObject: eventObject,
eventParams: eventParams,
secureParams: secureParams
});
originalBxOnCustomEvent.apply(
null, arguments
);
};
Взято отсюда: https://qna.habr.com/q/577673

