Я динамически сгенерировал некоторые входные теги для веб-приложения.
function FormElement () {
this.formElement = $('<div class="formElement"></div>');
this.formElement.append('<label for=""></label>');
this.formElement.append('<input type="text" />');
FormElement.prototype.addIds = function (id) {
this.formElement.find('label').attr({'for':id});
this.formElement.find('input').attr({'id':id});
return this.formElement;
};
FormElement.prototype.addLabelText = function (value) {
this.formElement.find('label').html(value);
};
FormElement.prototype.addInputValue = function (value) {
this.formElement.find('input').attr({'value':value});
};
FormElement.prototype.addClass = function (className) {
this.formElement.attr({'class':className});
};
FormElement.prototype.append = function (selector) {
$(selector).append(this.formElement);
};
}
Добавленные элементы, похоже, не связаны с событиями click, select и т. д.. Я читал, ты можешь .on()
. Я хотел бы связать все возможные события со всеми типами элементов в общем виде. Каков наилучший способ сделать это?
$(document).on('click','.formElement input[type="text"]', function(e){ alert('foo'); });
01.05.2013