Выполнение js после его подгрузки в html

222
01 февраля 2018, 20:27

Здравствуйте. У меня скрипт через ajax подгружает html контент . В данный html я добавил js функцию новую с button-ом.

Можно ли как-то заставить работать данную функцию ?

пример :

var text='<script>function test(){alert("test");}</script><button onclick="test();">test</button>';
document.getElementById('text').innerHTML = text;
Answer 1

Нет смысла динамически добавлять тег <script>, код внутри него уже не будет выполнен.

//Этот блок будет вызван только после загрузки документа 
document.addEventListener('DOMContentLoaded', function(){ 
 
    //Так можно добавить новую глобальную функцию 
    window.test = function(){alert("test");}; 
     
    var html='<button onclick="test();">test</button>'; 
    //Используем pure js современный селектор 
    var text = document.querySelector('#text'); 
     
    text.innerHTML = html; 
});
<h3>Пример</h3> 
<div id="text"> 
</div>

Answer 2

Код скрипта нужно запустить после вставки. Вот на jQuery пример:

$("#text").find("script").each(function(i) {
eval($(this).text());
});
READ ALSO
Обрабатывать событие keydown только в пределах нужного экрана

Обрабатывать событие keydown только в пределах нужного экрана

Есть 2 блока, где нужно событие keydown они на разных экранах страницы, keydown общийКак его ограничить, чтобы если видна одна область, то работает...

209
Параметры функции VueJS

Параметры функции VueJS

Подскажите, есть такая функция которая вызывается в VueJS следующим образом событие myEvent возвращает результат (result) при вызове:

219
зациклить то что у меня уже есть? [требует правки]

зациклить то что у меня уже есть? [требует правки]

Нужно зациклить создания массива состоявшейся из суммы двух соседних элементов до того момента когда длина массива не стане равна 1

177
merge sort / сортировка слиянием

merge sort / сортировка слиянием

Здравствуйте! Пытаюсь реализовать сортировку слияниемОбщий принцип довольно понятен, но в процессе реализации возникли проблемы

233