@Raneto4ka

Как переписать функцию?

Есть несколько стилизованных чекбокса. И есть функция, которая управляет их переключениями.
Нужно, чтобы обработчик запускался только на том чекбоксе, на котором произошло действие (клик или перетаскивание).
Сейчас срабатывают оба сразу.
Помогите, пожалуйста, подправить скрипт:
https://jsfiddle.net/2zkxbjo0/
  • Вопрос задан
  • 102 просмотра
Решения вопроса 1
Vlad_IT
@Vlad_IT Куратор тега JavaScript
Front-end разработчик
Избавьтесь от id, или сделайте его уникальным для каждого блока. У двух и нескольких блоков, id не должен совпадать.
Теперь у вас есть список боксов $('.box'), нужно пройтись по нему массивом, и для его дочерних элементов применить ваши скрипты.
var boxes = $('.box');
boxes.each(function () {
   var $box = $(this);
   // Засуньте сюда весь ваш код, который нужен отдельно для каждого чекеда. 
   // Только не надо функции выносить. Функции не должны ссылаться на глобальные переменные,
   // все элементы вы должны передавать через аргументы. 
   // Дальше ищите элементы относительно $box. Например, вам нужен .handle, просто
   // пишите $box.find('.handle') - так вы получите только элементы с классом handle, которые
   // находятся внутри текущего бокса.
});
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы