В настоящее время я использую модальный компонент 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? Есть ли способ получить доступ к модальному объекту на странице и прикрепить к нему событие «загружено»? я хотел бы сделать это во внешнем скрипте или на странице, поэтому мне не нужно беспокоиться о версиях начальной загрузки.
shown
модального окна? - person mccannf   schedule 23.09.2013