Быстрый переход |
|
Программирование PHP, Perl, HTML, XHTML, CSS, JavaScript, MySQL и другие языки кодирования. |
|
Опции темы |
Сегодня | |||||
|
26.02.2018, 22:44 | #1 | |||
Реноме:
1556
|
JS не стыкуется с AJAX: HELP
На странице есть кнопка, при клике на которое всплывает модальное окно на Fancybox. JS в этом отрабатывает нормально.
Но, когда точно такую же кнопку (код точная копиия) подгружаешь через AJAX, то сколько на неё не кликай, - окно не всплывает. Такое ощущение, что JS не видит что я кликаю на кнопку ПОЧЕМУ? JS и AJAX действительно не стыкуются?
__________________
|
|||
27.02.2018, 00:09 | #2 | |||
Реноме:
167
|
код покажите
добавлено через 2 минуты например в jQuery есть click который с аякс не дружит, а есть .live( "click", function() { или .on( "click", function() { который работает с новыми элементами, которые выводит аякс Последний раз редактировалось cmsdev; 27.02.2018 в 00:12. Причина: Добавлено сообщение |
|||
27.02.2018, 00:59 | #3 | |||
Реноме:
1556
|
Сюда:
PHP код:
PHP код:
Код HTML:
$("#wrappers").on("click", ".modalbox", function(){ .... Вроде должно работать, но нет. Возможно ошибка.
__________________
|
|||
27.02.2018, 01:01 | #4 | |||
Реноме:
431
|
Port_Artur, если коротко: у Fancybox, как и у многих плагинов, есть функция инициализации, она запускается в момент загрузки страницы и вешает на существующие элементы свои события-свойства-мишуру-гирлянды.
Если через какое-то время на странице появляется новый элемент, ему эту ерунду уже никто не вешает, а значит надо просить плагин провести инициализацию повторно. Если более подробно — надо смотреть конкретный код подключения плагина, его версию, его руководство. |
|||
27.02.2018, 01:01 | #5 | |||
Реноме:
431
|
Port_Artur, если коротко: у Fancybox, как и у многих плагинов, есть функция инициализации, она запускается в момент загрузки страницы и вешает на существующие элементы свои события-свойства-мишуру-гирлянды.
Если через какое-то время на странице появляется новый элемент, ему эту ерунду уже никто не вешает, а значит надо просить плагин провести инициализацию повторно. Если более подробно — надо смотреть конкретный код подключения плагина, его версию, его руководство. |
|||
27.02.2018, 01:02 | #6 | |||
Реноме:
1556
|
Вот так если быть точным:
Код HTML:
$(document).ready(function( {scrolling: VISIBLE,}) { $(".modalbox").fancybox() ; $("#contact").submit(function() { return false; }); $("#wrappers").live("click", ".modalbox", function(){ Фенсибокс V3.0.47 2017 года добавлено через 3 минуты Я так понимаю судя с ваших слов, нужно как заново повесить: PHP код:
добавлено через 20 минут Повторно повесил Фенсибокс $(".modalbox").fancybox() ; в ON Не знаю правильно ли, но так заработало: PHP код:
Ещё 1 ПРОБЛЕМА!!! В ссылке передаётся параметр id-text: Код HTML:
<a class="modalbox buttontime" href="#inline" id-text="сообщение" rel="nofollow" >
Код HTML:
$("input#id-text").val($(this).attr("id-text")); Код HTML:
<input type="hidden" id="id-text" name="id-text" value="1">
В исходном коде открытого окна строка выглядит Код HTML:
<input type="hidden" id="id-text" name="id-text" value="">
добавлено через 8 часов 47 минут Вместо Код HTML:
$("#wrappers").live("click", ".modalbox", function(){ Код HTML:
$("#wrappers").on("click", ".modalbox", function(){ Не знаю в чём именно разница, но так работает и видит передаваемые через ссылку переменные. Всем спасибо за помощь Вопрос закрыт
__________________
Последний раз редактировалось Port_Artur; 27.02.2018 в 09:50. Причина: Добавлено сообщение |
|||
27.02.2018, 09:55 | #7 | |||
Реноме:
1908
|
Загрузили АJAX-ом новый элемент - привязываете заново.
Вы какие-то куски оторванные выкладываете, по ним ничего не понять. В частности, не понятно где вызывается "$("input#id-text").val($(this).attr("id-text"));". Работает ли с незагруженных AJAX-ом элементов или нет.
__________________
|
|||
27.02.2018, 10:13 | #8 | |||
Реноме:
1556
|
Уже всё получилось. Я просто не знал что на загружаемые элементы нужно заново всё вешать.
__________________
|
|||
27.02.2018, 10:34 | #9 | |||
Реноме:
1908
|
Ещё одна из особенностей JS - "специфическая" видимость/привязка переменных Вот тут иногда мозг может закипеть
__________________
|
|||
27.02.2018, 10:35 | #10 | |||
Реноме:
1556
|
Примерно так вчера и было, пока не помогли разобраться.
Сам то я JS не знаю, только благодаря примерам из Интернета и помощи знатоков что-то получается делать.
__________________
|
|||
Реклама | |
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
|
|