Забуксовал с ajaxComplete
Всем доброго дня.
Ребята, что-то не получается совладать с событием ajaxComplete. Допустим Есть несколько форм на странице. Все обрабатываются Ajax. Мне нужно после наступления события завершения Ajax выводить окошко с данными, но только для определенной формы. Делаю так: jQuery("#block-webform-client-block-15").ajaxComplete(function(e, xhr, settings){ jQuery(this).find(".messages.error").slideDown("slow"); jQuery("body").click(function() { jQuery("#block-webform-client-block-15 .messages.error").slideUp("slow"); }); }); Как мне привязать эту конструкция к определенной кнопке, т.е. чтобы эта функция выполнялась только по нажатию на нужный submit. А так получается что событие ajaxComplete наступает при нажатии на любую кнопку любой формы. |
Спрошу проще, можно ли указать условие (id нажатой кнопки) при котором сработает функция в ajaxComplete?
|
Схема такая:
нажал кнопку - сработал ajax - выскочил блок форма рабочая, код формы недоступен. Допустим мне нужно добавить анимацию выскакивающему блоку. Я делаю ему в css display: none. Затем на Jquery добавляю свойства. Но вот как мне обработать событие что данный блок появился в DOM? Я предположил что можно использовать ajaxComplete. Т.е. После возникновения данного события нужный блок существует и с ним можно работать. Но позже появилась проблема! Если данный блок уже существует и при нажатии на другую кнопку (которая вызовет ajaxComplete) мой код тоже сработает. Поэтому ищу способ связать ajaxComplete с нажатой кнопкой! Запутался окончательно! |
Ребят, может я не в ту сторону копаю. Может все проще?
Как правильно работать с блоком (например цеплять на него анимацию и тд), который появляется после выполнения Ajax? |
на каждую форму свой $.ajax и соответственно будут разные ajaxComplete. И если урл и отправляемые данные одинаковые, можно воспользоваться promise'ами, чтобы укоротить код.
|
Часовой пояс GMT +3, время: 05:34. |