Показать сообщение отдельно
  #1 (permalink)  
Старый 09.12.2018, 02:56
Профессор
Отправить личное сообщение для the_little Посмотреть профиль Найти все сообщения от the_little
 
Регистрация: 25.09.2017
Сообщений: 186

Функция выполняется ++ раз
Всем привет.

Есть функция, которая отслеживает клики в списках и производит некоторые действия. По сути при помощи этой функции список становится аналогом select.

Есть 3 блока таких списков, у каждого свой класс прописан.

Соответсвенно в функции 3 блока, отслеживающие клик в конкретном блоке. В каждом блоке прописал console.log

Все сделал, все считает как надо, но в консоли заметил такую штуку.
При первом срабатывании функции в консоль выводится 1 сообщение.
Потом 2 одинаковых. Потом 3 одинаковых.
И так количество одинаковых выводов в консоль растет постоянно.

Начинаешь по другим спискам "ходить", вообще непонятное количество записей выводится одинаковых.

Хотя по сути должна 1 раз вывести.

Помогите разрбраться, пожалуйста.

Функция (для примера убрал лишние блоки, оставил функцию в чистом виде, без моих добавлений)
Все равно в консоли выводится сообщение ++раз

$('.slct').click(function(){
    var dropBlock = $(this).parent().find('.drop');
    if( dropBlock.is(':hidden') ) {
        dropBlock.slideDown();
        $(this).addClass('active');
        $('.drop').find('li').click(function(){
            var selectResult = $(this).find('a').text();
            $(this).parent().parent().find('input').val(selectResult);
            $(this).parent().parent().find('.slct').removeClass('active').html(selectResult);
            dropBlock.slideUp();
            console.log(selectResult);
        });
    } else {
        $(this).removeClass('active');
        dropBlock.slideUp();
    }
    return false;
});


Пример списка
<div class="select">
                    <a href="javascript:void(0);" class="slct">Прямоугольные стеллы</a>
                    <ul class="drop drop_stella">
                        <li><a>Прямоугольные стеллы</a></li>
                        <li><a>Резные стеллы</a></li>
                        <li><a>Двойник</a></li>
                    </ul>
                    <input name="stella" type="hidden" id="stella" value="Прямоугольные стеллы"/>
                </div>

Последний раз редактировалось the_little, 09.12.2018 в 02:59.
Ответить с цитированием