Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 10.11.2015, 14:01
Аспирант
Отправить личное сообщение для goooooch Посмотреть профиль Найти все сообщения от goooooch
 
Регистрация: 24.10.2010
Сообщений: 46

Создаваемый с помощью скрипта div и его особенности
Есть функция, которая по клику на кнопку отправляет ajax-запрос и возвращает результат в виде div#content, который благополучно вставляется в страницу и виден через консоль разработчика в Хроме.

Но если смотреть html-код всей страницы (в том же Хроме), то div#content в нем нет!

Подозреваю, что по этой причине js-скрипты этот div#content "не видят" и работать с ним не хотят.

Как это обойти?
Ответить с цитированием
  #2 (permalink)  
Старый 10.11.2015, 14:30
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,122

Сообщение от goooooch
Подозреваю, что по этой причине js-скрипты этот div#content "не видят" и работать с ним не хотят.
Вангую... Ты не верно сделал те скрипты...
Ответить с цитированием
  #3 (permalink)  
Старый 10.11.2015, 14:41
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

вангую on
Ответить с цитированием
  #4 (permalink)  
Старый 10.11.2015, 14:52
Аспирант
Отправить личное сообщение для goooooch Посмотреть профиль Найти все сообщения от goooooch
 
Регистрация: 24.10.2010
Сообщений: 46

Господа, я вашей фени типа "вангую" не понимаю. Вы друг другу шлите сообщения такие. Я понимаю, что карма у обоих зашкаливает и вы тут самые авторитетные, но мне бы что-то более конструктивное хотелось прочесть.
Цитата:
Но если смотреть html-код всей страницы (в том же Хроме), то div#content в нем нет!
Например, почему так?
Ответить с цитированием
  #5 (permalink)  
Старый 10.11.2015, 15:00
Аспирант
Отправить личное сообщение для goooooch Посмотреть профиль Найти все сообщения от goooooch
 
Регистрация: 24.10.2010
Сообщений: 46

То, что прилетает после аякс-запроса "в страницу":

<button id="add_to_basket_button" data-id="469" data-quantity="3.8">
          <i class="fa fa-shopping-cart"></i> В корзину!
</button>


ниже по коду js:

<script>
$('#add_to_basket_button').click(function(){   
	alert('p!');     
 });
</script>
Ответить с цитированием
  #6 (permalink)  
Старый 10.11.2015, 15:03
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,122

Сообщение от goooooch
я вашей фени типа "вангую" не понимаю
А ты думаешь мы понимаем по твоему "описанию проблемы" чего у тебя там и как?

А "вангую" пошло от Ванги. Она ведь все знала даже по фотографии...
Сообщение от goooooch
Например, почему так?
Потому как "html-код" это то, что пришло на клиент от сервера. от
<html>

до
</html>

Твой контент появляется уже потом и в том "тексте" его нет.
Это норма. (с)
Ответить с цитированием
  #7 (permalink)  
Старый 10.11.2015, 15:05
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,122

Сообщение от goooooch
ниже по коду js:
Ты этот "код" можешь ставить в любом месте... Но на странице на тот момент просто нет такого элемента.
Тебе нужно использовать делегирование.

рони - твая победила.
Ответить с цитированием
  #8 (permalink)  
Старый 10.11.2015, 15:14
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

goooooch,
$('body').on('click','#add_to_basket_button',function(){
	alert('p!');
 });

если конечно вы правильно используите id
если это не так
то
$('body').on('click','[id="add_to_basket_button"]',function(){
	alert('p!');
 });

но лучше тогда отказатся от id в пользу class

Последний раз редактировалось рони, 10.11.2015 в 15:16.
Ответить с цитированием
  #9 (permalink)  
Старый 10.11.2015, 15:38
Аспирант
Отправить личное сообщение для goooooch Посмотреть профиль Найти все сообщения от goooooch
 
Регистрация: 24.10.2010
Сообщений: 46

рони,
Не совсем понял почему не работает с .click, но .on действительно решает проблему... Спасибо.
Ответить с цитированием
  #10 (permalink)  
Старый 10.11.2015, 15:45
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

goooooch,
потому что вы вешаите клик на то чего нет
Сообщение от ksa
делегирование.
элемент который всегда есть или просто родитель внутри которого происходит событие -- кликнули событие всплыло до родителя -- проверили кто послал - если нужный нам селектор в источнике есть запускаем обработку.
Делегирование
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
При клике ссылки, открыть DIV блок, и при клике ещё раз, закрыть его Simon Общие вопросы Javascript 59 28.05.2017 17:31
Скрытие блока div и его составляющих pomuk123 Events/DOM/Window 6 14.02.2011 10:31
Закрытие прозрачного div при щелчке мыши в любой его области mav1 Элементы интерфейса 8 09.02.2011 19:25
Блокировка выполнения скрипта по cookie с помощью jquery.cookie.js nv43 Библиотеки/Тулкиты/Фреймворки 5 12.12.2010 10:22
Полиморфизм и его особенности Golovastik Серверные языки и технологии 1 07.12.2010 15:30