Нужно перезагрузить скрипт на странице

268
18 апреля 2017, 08:58

Доброго времени суток, столкнулся с такой проблемой. Есть блок добавления товара, где выбор категории фотографии работают через скрипт (input.hidden). Соответственно, эмулируется нажатие и внос информации через JavaScript, и должна быть возможность копирования этого блока. Только после копирования скрипты на второй блок не работают (конечно при $(document).ready его же не было). Так сам вопрос: как заставить скрипты принять новые блоки и работать с ними?

P.S. Добавлял эти функции в функцию клона — появляется проблема двойного срабатывания скрипта для первого блока.

Answer 1

Можно воспользоваться делегированной обработкой событий.

$(document).on('click', '.btn-new', function(){
  // любой клик по документу вызывает проверку
  // если текущий элемент соответствует селектору - обработчик выполняется
});

var list = $('#list'); 
 
$(document).on('click', '.btn-new', function(){ 
  console.log($(this).index(), $(this).html()); 
}); 
 
function add() { 
  list.append($('<button class="btn-new">New button</button>')); 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<button onclick="add()">+Add</button> 
 
<div id="list"></div>

READ ALSO
как преобразовать типа %5B3%5D на salon[4] через jQuery?

как преобразовать типа %5B3%5D на salon[4] через jQuery?

Как преобразовать типа %5B3%5D на salon[4] через jQuery ?

251
FileUploadUI валидация файлов yii2

FileUploadUI валидация файлов yii2

Использую виджет https://githubcom/2amigos/yii2-file-upload-widget для загрузки файлов различного типа

246
Не изменяется цвет фона блока с помощью :hover

Не изменяется цвет фона блока с помощью :hover

Добрый день, уважаемые программисты! Я еще совсем зеленый в верстке, посему прошу Вашей помощи в решении проблемы с версткой макета

216