Давайте я опишу ситуацию, а потом, если понадобится, буду скидывать код.
Есть некий портал, написанный очень давно, когда ещё в php вместо, НАПРИМЕР, mysqli_query() писали mysql_query(). Лет 10 назад точно. Портал писался с использованием jQuery и foundation. Суть в том, что есть форма в модальном окне, через которое пользователи авторизуются на портале. Стояла задача добавить в окно ещё одну форму, через которую пользователи смогут регистрироваться на портале.
Был добавлен ещё один блок кода в формате ..., внутри которого была кнопка с некоторым id. На кнопку было навешано событие нажатия, которое через AJAX должно посылать GET-запрос.
И вот почему-то это событие напрочь стирается, а вместо него появляется куча других событий и если смотреть через отладку браузера, то все они ссылаются на jquery.js.
Я совсем не работал с foundation, а jQuery использую для не самых сложных программерских задач, но догадываюсь, что есть некий функционал одного из этих фреймворков, который стирает любые другие события и навешивает какие-то определённые свои.
Я несколько дней пытался победить проблему. Даже через $('#id').off() пытался снять другие евенты, чтобы потом свои повесить. Через консоль браузера вводил команды и пытался повесить своё событие, но безуспешно - нажатие на кнопку ровным счётом ничего не даёт.
Я пошёл по другому - создал html-файл, запихал туда код без стилизации и навесил событие через jQuery. Код JS не менял, просто скопировал... И... О ЧУДО - кнопка заработало, AJAX отрабатывает.
Если у кого-то есть догадки, то накидайте, я попробую сам всё понять.
Спасибо.
P.S. Не знаю, есть ли смысл в коде. Скину позже... спать хочу, сил нет... 5 утра, а я сижу на работе и ресторю сервак.(((
Может утром проснусь, а тут уже решение.)
twentytvvo, беда в том, что запрос до php даже не доходит, клик на кнопке не приводит ни к чему.
Т.е. программист, который сайт делал, засунув во фронтенд что-то такое, что переписывает события.
засунув во фронтенд что-то такое, что переписывает события.
И как вы предполагаете что вам тут найдут это "что-то такое"?
выход один - сидеть и копаться.
возьмите в девтулзах все листенеры которые висят на кнопке и всех его родителях и разбирайте кто что делает.
Если у вас есть код который работает - то сравните что за обработчики там и какие дополнительные есть в том что не работает.
Robur, да это понятно, что копаться надо, я и копаюсь. Просто решил спросить, может знает народ, что такого может быть в инструментах jQuery и Foundation, что перешибает евенты на элементах.
Возможно в foundation есть стандартный обработчик на все button-ы...