有谁知道为什么touchend事件会在touchstart事件中触发?这只是第二次发生。
快速代码段:
function touchstart (event) {
$(event.target).one('touchend', function () {
alert('fired');
}
}
所以这是第一次被解雇它工作正常。第二次它会触发touchstart上的警报。
编辑:
看起来这可能只是iPhone问题
答案 0 :(得分:5)
结果......通过在touchend事件中发出警报火引起各种各样的问题。单击“确定”时会触发touchstart,以便下次触摸元素时触发touchend。幸运的是,我正在使用警报来检查我的代码 - 所以一旦删除它,我的代码就完美了!
答案 1 :(得分:1)
只需将setcheout中的“touchend”处理程序的代码放在0ms即可。像这样:
$(someElement).on("touchend",
function(){
setTimeout(function(){
/*Your code*/
}, 0);
});