@notforyou

Почему событие выполняется много раз?

я пишу программу на jquery mobile
есть collapsibleset, для него определены события:
$(".users").collapsible({
        //если развернули группу, то дописываем к ней юзеров
        expand: function( event, ui ) {
            var group_id = event.target.id;
            showUsers(group_id, online);
        },
        //если свернули, стираем юзеров
        collapse: function( event, ui ) {
            var group_id = event.target.id;
            $('.group-id-'+group_id).empty().off("tap");
        }
    });

то есть при разворачивании списка к нему дописываются li с классом "user", на них вешаются события
.....
$(document).on('tap','.user',function(e){
        activeInterlocutor = {'uid':e.target.id, 'fio':$(e.target).text()};
    });

если много раз свернуть и развернуть этот collapsibleset, то при клике на лист айтем событие tap вызывается тоже много раз. подскажите, в чём проблема?
  • Вопрос задан
  • 218 просмотров
Решения вопроса 1
miraage
@miraage
Старый прогер
Ох, там дикая система. В двух словах - tap вызывает click несколько раз.
Попробуйте назначать touch события через Hammer.JS.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы