首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >临时禁用touchstart事件

临时禁用touchstart事件
EN

Stack Overflow用户
提问于 2014-07-08 05:12:59
回答 1查看 2K关注 0票数 0

我有一个基于移动的web应用程序。目前,我遇到了一个问题,当ajax调用。可以在ipad设备上单击包含在div中的等待微调器。正在触发的javascript事件是touchstart。有什么方法可以阻止这个事件经过正常的处理吗?

尝试调用以下代码,但不起作用。

代码语言:javascript
复制
Disable
 document.ontouchstart = function(e){ e.preventDefault(); }
Enable
  document.ontouchstart = function(e){ return true; }

如何处理touchstart

代码语言:javascript
复制
$(document).on('touchstart', function (eventObj) {
    //toggle for view-icon
    if (eventObj.target.id == "view-icon") {
        $("#view-dropdown").toggle();
    } else if ($(eventObj.target).hasClass("view-dropdown")) {
        $("#view-dropdown").show();
    } else {
        $("#view-dropdown").hide();
    }
});
EN

回答 1

Stack Overflow用户

发布于 2015-03-06 03:10:59

正如user3032973评论的那样,您可以使用touchLocked变量,它可以完美地工作。

我将它与Cordova键盘插件结合使用。显示键盘时将禁用滚动功能,隐藏键盘时将重新启用滚动功能:

代码语言:javascript
复制
var touchLocked = false;

Keyboard.onshowing = function () {
    touchLocked = true;
};

Keyboard.onhiding = function () {
    touchLocked = false;
};

document.ontouchstart = function(e){
    if(touchLocked){
        e.preventDefault();
    }
};
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24619965

复制
相关文章

相似问题

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