| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > 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 |
| И каков же ответ? Мне тоже интересно. |
| Автор: Sanchezzz 26.5.2012, 10:03 |
| все просто когда вставляешь данные через innerHTML дом структура документа не перезагружается JQuery умный гад в AJax умеет это делать благодаря магической функции $() + данные пришли через аякс с типом dataType html если формат text но он не обновляет и не перезагружает внутри найденный js как innerHTML JS вообще такая штука можно писать как хочешь и кабы как и он будет работает картинка гейца "Ну как то так это работает" кстате на все случаи жизни когда не знаешь точного определения как и почему это работает и почему работает |
| Автор: iff 27.5.2012, 12:09 | ||
Может быть к моменту выполнения скрипта эти элементы ещё не загрузились? Или не загрузился какой-то скрипт с некой функцией, которая вызывается... |
| Автор: Sanchezzz 2.6.2012, 02:01 |
| Amphiluke, +1 сам себе иногда удивляюсь) |