touchend事件被触发两次

这是我的情况下,代码touchend事件发生:touchend事件被触发两次

$('body').on('click touchend', '.typeSelect', function(){ 

var Classes = $(this).attr('class').split(" ");

var width1 = $(this).width();

$('.active').removeClass('active');

$(this).addClass('active');

$('.typeDropDownList').hide();

$('.'+Classes[0]+'List').css({'width' : width1+12}).toggle();

});

如果事件是click,一切工作正常,但如果它的touchend,这个函数被调用两次。这是为什么?

回答:

关闭点击,如果事件类型touchend

$('body').on('click touchend', '.typeSelect', function(e){ 

e.stopPropagation();

e.preventDefault();

if(e.type == 'touchend'){

$(this).off('click');

}

var Classes = $(this).attr('class').split(" ");

var width1 = $(this).width();

$('.active').removeClass('active');

$(this).addClass('active');

$('.typeDropDownList').hide();

$('.'+Classes[0]+'List').css({'width' : width1+12}).toggle();

});

以上是 touchend事件被触发两次 的全部内容, 来源链接: utcz.com/qa/265537.html

回到顶部