Здравствуйте. У меня скрипт через ajax подгружает html контент . В данный html я добавил js функцию новую с button-ом.
Можно ли как-то заставить работать данную функцию ?
пример :
var text='<script>function test(){alert("test");}</script><button onclick="test();">test</button>';
document.getElementById('text').innerHTML = text;
Нет смысла динамически добавлять тег <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>
Код скрипта нужно запустить после вставки. Вот на jQuery пример:
$("#text").find("script").each(function(i) {
eval($(this).text());
});
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости