Expose DOM-элемент с прототипом в JS

116
5

У меня есть эта текущая реализация (которую я знаю не правильно):

    kf.Ui.modal = function(){
this.el = $('#modal');
this.els = {
done: this.el.find('[name="modal-btn-done"]')
}
};

kf.Ui.modal.prototype.done = function(){
return this.els.done;
};

var modal = new kf.Ui.modal();
modal.done().on('click', function(){ alert('done clicked') });

Если вы видите, чего я пытаюсь достичь здесь, как это можно сделать? Итак, я хотел бы открыть элемент DOM, содержащийся внутри this.el и позволить себе присоединить событие к экземпляру.

спросил(а) 2021-01-25T18:25:50+03:00 4 месяца, 3 недели назад
1
Решение
88

В принципе все довольно хорошо, но я не мог написать такой большой комментарий

Я бы сделал так:

function Modal(element) {
this.el = $(element);
this.done = this.el.find("button");
}

var modal = new Modal('div#mymodal');

modal.done.on('click', ...);

ответил(а) 2021-01-25T18:25:50+03:00 4 месяца, 3 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема