В настоящее время я использую модный компонент Twitter Bootstrap, и у меня есть проблема, когда я использую плагин проверки правильности jquery для полей ввода в удаленном приложении, использующем атрибут data-remote.
Поскольку содержимое загружается после того, как проверка jquery прошла через dom, проверка не выполняется для вновь загруженных элементов.
У меня есть решение, в котором я изменяю bootstrap.js(модальный класс), см. ниже.
var Modal = function (element, options) {
this.options = options
this.$element = $(element)
.delegate('[data-dismiss="modal"]', 'click.dismiss.modal', $.proxy(this.hide, this))
//this.options.remote && this.$element.find('.modal-body').load(this.options.remote)
this.options.remote && this.$element.find('.modal-body').load(this.options.remote, $.proxy(function () {
this.$element.trigger('loaded')
}, this)) //my additions
}
Я запускаю "загруженное" событие для вызова, который загружает внешний html-фрагмент.
У меня уже подключено это событие, и я вызываю проверку на вновь загруженные элементы.
$('#myModal').on('loaded', function () {
$.validator.unobtrusive.parse($(this));
});
Моя проблема в том, что мне пришлось модифицировать bootstrap.js, чтобы достичь этого, есть ли способ, которым я могу работать, не изменяя bootstrap.js? Есть ли способ получить доступ к модальному объекту на странице и прикрепить к нему "загруженное" событие? я хотел бы сделать это во внешнем script или внутри страницы, поэтому мне не нужно беспокоиться о версиях начальной загрузки.