Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > Вставка скриптов на страницу через AJAX


Автор: demoniqus 22.5.2012, 17:01
Добрый день.
В моем сайте есть шаблоны smarty. В некоторых из них имеются javascript'ы. Содержимое этих шаблонов на страницу добавляется через innerHTML, но функции в этом случае не работают - получается ошибка function_name is not 
Как можно решить данную проблему?

Автор: EnergyMarauder 22.5.2012, 22:05
Да, если какие-то элементы вставляются на страницу после её загрузки, то JavaScript к ним не работает. Не слишком хорошо разбираюсь в этом, потому что новичёк в JS, но это, по-моему, как-то связано с протоколом HTTP, может и ошибаюсь. Привык решать эту проблему с помощью функций live или bind на jQuery. На чистом JS не знаю как. Но можете прочитать принцип работы вышенаписанных функций в jQuery и причину их нужно использовать.

Автор: demoniqus 23.5.2012, 09:25
В общем ответ есть в mootools.js

Автор: EnergyMarauder 23.5.2012, 09:44
И каков же ответ? Мне тоже интересно. smile

Автор: Sanchezzz 26.5.2012, 10:03
все просто когда вставляешь данные через innerHTML дом структура документа не перезагружается JQuery умный гад в AJax умеет это делать благодаря магической функции $() + данные пришли через аякс с типом dataType html если формат text но он не обновляет и не перезагружает внутри найденный js как innerHTML

JS вообще такая штука можно писать как хочешь и кабы как и он будет работает картинка гейца "Ну как то так это работает" кстате на все случаи жизни когда не знаешь точного определения как и почему это работает и почему работает 

Автор: Amphiluke 26.5.2012, 13:49
Цитата(Sanchezzz @  26.5.2012,  14:03 Найти цитируемый пост)
все просто когда вставляешь данные через innerHTML дом структура документа не перезагружается JQuery умный гад в AJax умеет это делать благодаря магической функции $() + данные пришли через аякс с типом dataType html если формат text но он не обновляет и не перезагружает внутри найденный js как innerHTML

JS вообще такая штука можно писать как хочешь и кабы как и он будет работает картинка гейца "Ну как то так это работает" кстате на все случаи жизни когда не знаешь точного определения как и почему это работает и почему работает 

 smile Невероятный поток сознания…  Ни одного знака препинания, читаю третий раз, и смысл теряется в лучшем случае где-то посередине.  smile 

Автор: iff 27.5.2012, 12:09
Цитата(demoniqus @  22.5.2012,  17:01 Найти цитируемый пост)
Содержимое этих шаблонов на страницу добавляется через innerHTML

Может быть к моменту выполнения скрипта эти элементы ещё не загрузились?

Цитата(demoniqus @  22.5.2012,  17:01 Найти цитируемый пост)
получается ошибка function_name is not 

Или не загрузился какой-то скрипт с некой функцией, которая вызывается...

Автор: Sanchezzz 2.6.2012, 02:01
Amphiluke, +1 сам себе иногда удивляюсь) 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)