Доброго времени суток! Не могу в одном проекте решить задачу: При добавлении товара в корзину отправляются данные AJAX и в ответ приходит содержание корзины в HTML, я вставляю данные из AJAX на сайт, но перестают работать кнопки созданного контента. Кто с таким сталкивался ? Сайт: https://grill.kh.ua
На пальцах, была у тебя кнопка на странице и ее определение в на js Код (Javascript): <div id="block"> <button id="test">test</button> </div> <script> var test = document.getElementById('test'); test.onclick = function() { alert( 'test' ); }; <script> потом ты решил прикрутить сюда ajax запрос Код (Javascript): <div id="block"> <button id="test">test</button> </div> <script> var test = document.getElementById('test'), block = document.getElementById('block '); test.onclick = function() { alert( 'test' ); }; $.get( "test.php", function( data ) { block.innerHTML = data; // data = '<button id="test">test</button>' }); <script> После этого кнопка уже не будет работать. Проблему можно решить так: Код (Javascript): <div id="block"> <button id="test">test</button> </div> <script> function start(){ var test = document.getElementById('test'), block = document.getElementById('block '); test .onclick = function() { alert( 'test' ); }; } start(); $.get( "test.php", function( data ) { block.innerHTML = data; // data = '<button id="test">test</button>' start(); }); <script>
Если jQuery, там есть такой приём: Код (Javascript): $("body").on("click", ".class", function () { }); После этого можешь смело перезаписывать .class сколько хочешь, обработчик останется актуальным