Touchend第二次触摸touchstart

时间:2012-12-30 15:35:12

标签: javascript jquery iphone touch

有谁知道为什么touchend事件会在touchstart事件中触发?这只是第二次发生。

快速代码段:

function touchstart (event) {
    $(event.target).one('touchend', function () {
        alert('fired');
    }
}

所以这是第一次被解雇它工作正常。第二次它会触发touchstart上的警报。

http://jsfiddle.net/8SVFR/

编辑:

看起来这可能只是iPhone问题

2 个答案:

答案 0 :(得分:5)

结果......通过在touchend事件中发出警报火引起各种各样的问题。单击“确定”时会触发touchstart,以便下次触摸元素时触发touchend。幸运的是,我正在使用警报来检查我的代码 - 所以一旦删除它,我的代码就完美了!

答案 1 :(得分:1)

只需将setcheout中的“touchend”处理程序的代码放在0ms即可。像这样:

$(someElement).on("touchend",
function(){
    setTimeout(function(){
    /*Your code*/
    }, 0);
});