首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Touchend在touchstart上触发第二次

Touchend在touchstart上触发第二次
EN

Stack Overflow用户
提问于 2012-12-30 23:35:12
回答 2查看 3.8K关注 0票数 5

有人知道为什么touchend事件会在touchstart事件期间触发吗?这只会在第二次发生。

快速代码片段:

代码语言:javascript
运行
复制
function touchstart (event) {
    $(event.target).one('touchend', function () {
        alert('fired');
    }
}

所以在第一次启动时,它工作得很好。第二次,它会在touchstart上触发警报。

http://jsfiddle.net/8SVFR/

编辑:

看起来这可能只是一个iPhone问题

EN

回答 2

Stack Overflow用户

发布于 2012-12-31 05:49:01

在touchend事件中触发out...by会导致各种问题。当你点击“确定”时,它会触发touchstart,所以下次你触摸元素时,touchend也会被触发。幸运的是,我使用了警告来检查我的代码--所以一旦删除了它,我的代码就可以完美地工作了!

票数 5
EN

Stack Overflow用户

发布于 2013-10-22 20:47:36

只需将"touchend“处理程序的代码放在0ms的setTimeout中。如下所示:

代码语言:javascript
运行
复制
$(someElement).on("touchend",
function(){
    setTimeout(function(){
    /*Your code*/
    }, 0);
});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14091982

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档