触摸事件不适用于 Cordova 应用程序的 ios 版本

2024-03-19

我有一个非常简单的科尔多瓦应用程序,它是默认科尔多瓦“设备就绪”模板的扩展。它有一个按钮,附加了一个简单的单击事件。

可以看到这里在 iOS 模拟器上运行。

以下是我的项目的代码

索引.html

<html>
<head>
    <meta http-equiv="Content-Security-Policy" content="default-src 'self' data: gap: https://ssl.gstatic.com 'unsafe-eval'; style-src 'self' 'unsafe-inline'; media-src *">
    <meta name="format-detection" content="telephone=no">
    <meta name="msapplication-tap-highlight" content="no">
    <meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width">
    <link rel="stylesheet" type="text/css" href="css/index.css">
    <title>Hello World</title>
</head>
<body>
    <div class="app">
        <h1>Simple App</h1>
        <div id="deviceready" class="blink">
            <p class="event listening">Connecting to Device</p>
            <p class="event received">Device is Ready</p>
        </div>
        <button type="button" id="testBttn">Press me</button>
    </div>
    <script type="text/javascript" src="cordova.js"></script>
    <script type="text/javascript" src="js/index.js"></script>
</body>
</html>

index.js

var app = {
    // Application Constructor
    initialize: function() {
        this.bindEvents();
    },
    // Bind Event Listeners
    //
    // Bind any events that are required on startup. Common events are:
    // 'load', 'deviceready', 'offline', and 'online'.
    bindEvents: function() {
        document.addEventListener('deviceready', this.onDeviceReady, false);
    },
    // deviceready Event Handler
    //
    // The scope of 'this' is the event. In order to call the 'receivedEvent'
    // function, we must explicitly call 'app.receivedEvent(...);'
onDeviceReady: function() {
       app.receivedEvent('deviceready');
    },
    // Update DOM on a Received Event
    receivedEvent: function(id) {
        var parentElement = document.getElementById(id);
        var listeningElement = parentElement.querySelector('.listening');
        var receivedElement = parentElement.querySelector('.received');

        listeningElement.setAttribute('style', 'display:none;');
        receivedElement.setAttribute('style', 'display:block;');

        console.log('Received Event: ' + id);
    }
};

app.initialize();

console.log('ready to test button');

document.getElementById("testBttn").addEventListener("click", function (){
  console.log('button was pressed!');
});

我面临的问题是,在模拟器上运行时,按钮对任何点击(触摸手势)完全没有响应

该按钮工作正常并在浏览器中运行时输出到控制台

当我在模拟器上通过 XCode 而不是 CLI 运行应用程序时,我得到了相同的结果,尽管我单击后立即得到以下输出anywhere在模拟器屏幕上。

2016-10-13 00:16:57.738602 CordovaApp[14845:2773283] subsystem: com.apple.UIKit, category: Touch, enable_level: 0, persist_level: 0, default_ttl: 1, info_ttl: 0, debug_ttl: 0, generate_symptoms: 0, enable_oversize: 1, privacy_setting: 2, enable_private_data: 0
2016-10-13 00:16:57.739331 CordovaApp[14845:2773283] subsystem: com.apple.UIKit, category: Gesture, enable_level: 0, persist_level: 0, default_ttl: 1, info_ttl: 0, debug_ttl: 0, generate_symptoms: 0, enable_oversize: 1, privacy_setting: 2, enable_private_data: 0
2016-10-13 00:16:57.741806 CordovaApp[14845:2773283] subsystem: com.apple.UIKit, category: GestureExclusion, enable_level: 0, persist_level: 0, default_ttl: 1, info_ttl: 0, debug_ttl: 0, generate_symptoms: 0, enable_oversize: 1, privacy_setting: 2, enable_private_data: 0

此输出提供的信息很少,但可能表明存在一个明显的问题。我在构建本机 ios 应用程序时从未有过此输出。

任何帮助表示赞赏。

Edit:我正在使用 XCode 8.0

我提到这一点是因为在构建 ios 10 应用程序时,这种控制台输出在 XCode 8 中很常见。据我所知,这个控制台输出似乎微不足道,没有什么不寻常的。


我发现今天突然发生了同样的事情。我发现的唯一解决方案根本不是真正的解决方案,但是当我切换到不同的应用程序然后突然切换回我的应用程序时,触摸事件全部重新开始工作。但新打开的应用程序完全没有响应。所以这不完全是一个解决方案,但看看你是否遇到同样的行为。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

触摸事件不适用于 Cordova 应用程序的 ios 版本 的相关文章

随机推荐

  • 使用 Jcraft 通过 SFTP 传输文件

    项目清单 我可以编写一个java程序通过SFTP传输文件 但是 这将包含一个带有可执行命令的脚本 这可以通过 Jcraft 实现吗 比方说 示例脚本文件是这样的 cd pub ascii get filename txt put other
  • 打字稿提升

    我试图理解打字稿中的提升 提升是否在 Typescript 中进行 如果是 与 Javascript 中的提升方式相比有什么不同吗 例如 即使我在使用它的函数之后声明了接口 代码也可以很好地转换 可以安全地假设它的发生是由于作为转译的一部分
  • 使用具有多行的 imagettftext 函数?

    我正在使用 php 创建透明文本 gt png 图像 到目前为止一切顺利 唯一的问题是我希望能够由于固定宽度而使文本自动换行 或者能够在文本中插入断线 有没有人有任何经验这样做 这是我的代码
  • 动态更改持久性单元 - JPA

    persistence xml 中的持久性单元是在构建应用程序期间创建的 由于我想在运行时更改数据库url 有什么方法可以在运行时修改持久化单元吗 我应该在分发后使用除预绑定数据库之外的不同数据库 我正在使用 EclipseLink JPA
  • Django-storage - 如何在上传之前检查文件大小?

    存储和 Django 1 6 我想限制保存的文件大小s3 执行此操作的适当方法是什么 我应该在表单中进行自定义字段验证 还是在使用 Django Storage 时有更好的方法来执行此操作 验证需要将文件上传到服务器 这建议的方式 http
  • 会话关闭后如何强制休眠释放内存?

    我们最近才开始使用 Hibernate 并且仍在适应它的工作方式 我们看到的一件事是 即使在所有会话关闭并且引用超出范围之后 hibernate 似乎仍然在其缓存中维护以前使用的数据库值 我们的代码可以多次读取一组表 因为所有的内存都被非常
  • 从通过 cron 作业运行的 bash 脚本访问 SSH 密钥

    我将这个脚本放在一起 每天更新一个分叉的 Github 存储库文件夹 如果我从提示符中调用它 它运行得很好 但我无法弄清楚如何让它在作为 cron 作业运行时可靠地利用我的 id rsa 这eval ssh agent 正是这样做的尝试 但
  • XCode中文档下的“注释”的用途是什么

    字体选择框下方有一个自由文本字段Xcode 5 似乎属于Notes类别 那么 注释和空盒子的目的是什么under No Font如下图所示 我尝试为我的一个组件 即我的按钮 使用注释 并为其添加一些注释 如图 1 所示 这是 XIB 中按钮
  • 单个请求到多个异步响应

    所以 问题来了 iPhone 很棒 但对于有服务器端要求的应用程序来说 带宽和延迟是严重的问题 我解决这个问题的最初计划是对数据位发出多个请求 双关语无意 并以此来处理大量传入 传出数据的问题 由于很多原因 这是一个坏主意 对我来说最明显的
  • Selenium:如何拦截请求

    有人知道如何在 Selenium WebDriver 中拦截 获取请求 url XHR 和响应吗 是否可以 Webdriver 不直接支持它 但您可以通过代理重定向来捕获所有流量 在爪哇 Proxy proxy new Proxy This
  • StartsWith() 不会转换为 LINQ 中的 Like('abc%')

    我有以下 ASP NET Core LINQ 代码 List
  • 如何存储和更新具有不同数据类型属性的 localStorage 键对象?

    这是我第一次使用localStorage我想存储一个localStoragekey 是一个具有不同数据类型属性的对象 例如 key localstor 它是一个包含两个属性的对象 localstor userMsg String userI
  • 将 Excel 解析为 JSON

    我想知道是否可以将 excel 解析为 json 如果可能的话 Excel 的结构使其成为可能 有应用程序什么的吗 我有这个 JSON 结构http pastie org 2760828 http pastie org 2760828我必须
  • Swift 中的@dynamicCallable 是什么?

    来自苹果的文档 The dynamicCallable属性让你可以调用named types就像你打电话一样 使用简单语法糖的函数 主要用例是动态语言互操作性 你为什么要使用 dynamicCallable而不是直接方法 dynamicCa
  • Angular 7 - 向动态创建的组件添加拖放行为

    这是我在 SO 上提出的上一个问题的延续 在声明组件选择器时添加指令 Angular 7 https stackoverflow com questions 56072516 add directives to component sele
  • VBA-Loop 和一些工作表

    我是一个初学者 我想在我的 Excel 文件的所有工作表中进行循环 除了第一个工作表 然而 下面的代码仅适用于第二个 您能解释一下这段代码有什么问题吗 非常感谢 Sub MobileTCalculation MobileTCalculati
  • Ivy、Ant、Jenkins - 在 Jenkins 构建上使用 是个好主意吗?

    我们将使用 Ivy 和 Ant 并且让 Jenkins 来完成我们的构建 我原本以为让詹金斯做一个
  • 如何使用Nashorn引擎调用Java对象

    我想使用 Nashorn 控制台来替代 Rails c 例如 我想调用Java方法从远程系统导入数据并执行数据迁移 我发现这非常有趣 https www baeldung com java nashorn https www baeldun
  • 带或不带 MSYS 的 MinGW makefile(del 与 rm)

    我正在使用 MinGW 在 Windows 上编译一些东西 我打电话mingw32 make直接来自cmd exe一切 我需要的 都工作正常 但是我发现我需要能够从 MSYS 环境进行编译 并且我遇到了问题copy and del命令不被识
  • 触摸事件不适用于 Cordova 应用程序的 ios 版本

    我有一个非常简单的科尔多瓦应用程序 它是默认科尔多瓦 设备就绪 模板的扩展 它有一个按钮 附加了一个简单的单击事件 可以看到这里在 iOS 模拟器上运行 以下是我的项目的代码 索引 html