JavaScript ООП, передать Jquery объект через bind

109
20 ноября 2019, 01:10

В методе obr необходимо получить объект jquery, на котором сработало событие. Каким образом это можно сделать?

Пытаюсь прописать таким образом и, ожидаемо, получаю пустоту:

class MenuAnimation{
    constructor(){
        $('a').on('click', this.obr.bind(this, $(this)));
    }
    obr(elem, e){
        e.preventDefault();
        this.alertMessage(elem.text());
    }
    alertMessage(txt){
        alert(txt);
    }
}
Answer 1

Может так?

class MenuAnimation {
    constructor() {
        $('a').on('click', this.obr.bind(this));
    }
    obr(e) {
        e.preventDefault();
        let elem = $(e.target);
        this.alertMessage(elem.text());
    }
    alertMessage(txt) {
        alert(txt);
    }
}
READ ALSO
LEFT JOIN Дублирует поля [MySQL]

LEFT JOIN Дублирует поля [MySQL]

Столкнулся с проблемой дублирования полей при использовании LEFT JOIN в MySQL запросе

142
Проблема с переносом текста

Проблема с переносом текста

проблема, собственно, в коде, почему не переносится текст? Слово: "Русагроимпортом" выходит за пределы и не переносится

124
Отобразить Dropdown в Navbar

Отобразить Dropdown в Navbar

Не отображается Dropdown в Navbar, пример брал готового шаблона bootstrap, там всё отображается нормально, но у меня после нескольких нажатий на стрелочку...

141
Как добавить #document в <iframe>?

Как добавить #document в <iframe>?

Просмотрел все похожие вопросы

178