#overlay #plone #jquery-tools
#наложение #plone #jquery-инструменты
Вопрос:
Я определил свое наложение для этого
$j('#heise').prepOverlay(
{
subtype: 'ajax',
noform: function(el) {return noformerrorshow(el, 'close');}
}
(который работает отлично).
Теперь мне нужно запустить наложение вручную.
Пользователь вводит некоторые данные в форму so, и после отправки формы результат должен отображаться внутри overflow. Изменение значения ‘href’ с помощью параметров формы не является проблемой, однако я не знаю, как вызвать появление наложения вручную через Javascript. Я нашел низкоуровневый метод API overlay () в jQueryTools, но здесь он не помогает. Есть идея?
Ответ №1:
Обычный способ открыть оверлей jQueryTools — через .load()
overlay API, но .prepOverlay скрывает все это в собственной оболочке вместо оверлеев в ajax
стиле. Вы можете сделать одну из двух вещей:
-
Вызовите обработчик щелчков:
jQuery('#heise').click();
Это запустит правильные обработчики для всех событий нажатия.
-
Вызывайте
pb.ajax_click
обработчик напрямую, привязываяthis
к вашему элементу:pb.ajax_click.apply(jQuery('#heise'));
Это приведет только к запуску
ajax
обработчика щелчков.
Комментарии:
1. Нет — это вызывает «»»Неперехваченную ошибку типа: не удается вызвать метод ‘load’ с неопределенной ошибкой»»»
2. @RestRisiko Вы сбились с курса, верно; я недостаточно подробно ознакомился с методом prepareOverlay. Для ajax создается обработчик кликов, который вы можете вызвать. Смотрите обновленный ответ.