Вызов функции `jsDo` из тега `a` с использованием атрибута `onclick` работает только если функция объявлена в области видимости, в которой выполняется обработчик события `click`. Это означает, что если функция `jsDo` объявлена в модуле, то она не будет доступна для вызова из разметки HTML.
Одна из возможных реализаций с учетом ООП - это создание экземпляра класса с нужными методами, в которые можно передавать необходимые параметры, и обработка события `click` у тега `a` через вызов этих методов.
Например, можно создать класс `PopupHandler`, содержащий метод `open`, который будет отвечать за обработку нажатия на ссылку:
class PopupHandler {
private ajax: Ajax;
constructor() {
this.ajax = new Ajax();
}
open(action: string, title: string): void {
this.ajax.setRequest({ action, title });
this.ajax.resultProcessing('.popup__ajax');
}
}
const handler = new PopupHandler();
Теперь вы можете использовать экземпляр класса `PopupHandler` для обработки события `click` у тега `a`:
<a href="#popup" class="popup-link" onclick="handler.open('two', '#TWO')">Попап №2</a>
Таким образом, функция `open` будет вызываться при каждом нажатии на ссылку, и вы можете использовать ее для обработки запроса с нужными параметрами.
Класс `PopupHandler` должен быть объявлен в области видимости, доступной из разметки HTML. Это может быть файл, подключенный к странице через тег script, или модуль, импортируемый с помощью директивы `import`.