Цепляем js-код после ajax в Drupal 7, продолжение экспериментов

Я нашел некоторые особенности того примера, что я давал вчера. Потому я решил немного ещё поэкспериментировать, чтобы дать более качественное решение.

Вот какие особенности я заметил у прошлого варианта:

  • Многократный bind кода и соответственно его многократный вызов. В некоторых случаях это не важно, но скорее всего приведет к неожиданным результатам.
  • Вторая особенность «подливает масла в котел» первой проблемы. Она заключается в том, что при одном запросе к серверу, могут быть сформированы несколько вызовов обработчика с разными контекстами.

Начну со второй проблемы — преодоления «мультиконтекста». Следует проверять в контексте какого контейнера идет вызов. Для этого можно проверить id контейнера или его класс:

Казалось бы это решает и проблему c привязкой к событию ‘ajaxSuccess’, т.е. многократный bind обработчика. Но тесты показывают, что это не так.

Вот в такой конфигурации, я отправлял данные формы webform по ajax:

В консоли раз за разом был виден инкремент зацепок к ajaxSuccess.

По моей логике, перезагружаемый контейнер должен был терять все свои «пользовательские» обработчики. Зацепка к ajaxSuccess может быть важна тем, что мы получаем доступ к передаваемым в результате ajax данным. Если это не так, что можно обойтись и без bind.

Написать комментарий

Мало букафф? Читайте есчо !

Подключение CAPTCHA к пользовательской форме в drupal

Февраль 19, 2012 г.

У вас есть запрограммированная форма в друпал, и вы хотите добавить в неё антиспам поле из модуля CAPTCHA. Смотрим как это сделать. Для начала модуль СAPTCHA надо скачать и установить (активировать на странице доступных модулей сайта - /admin/build/modules). ...

Читать

Удаление бот-пользователей с сайта на Drupal

Сентябрь 22, 2015 г.

Несколько лет назад, когда решил попробовать 7ю версию drupal, я создал сайт wbserv.ru. Тогда только начали предлагать разные облачные услуги, это показалось ...

Читать

 

Комментарии к «Цепляем js-код после ajax в Drupal 7, продолжение экспериментов»

Понравилась статья? Есть вопросы? - пишите в комментариях.



Комментарий: