javascript - 鼠标事件在移动设备上不起作用

标签 javascript events mobile three.js touch

我创建了这个360 panorama image这在桌面上工作正常,但在手机上鼠标事件不起作用。我如何在移动设备上修复此问题?

//监听器

document.addEventListener("mousedown", onDocumentMouseDown, false);
document.addEventListener("mousemove", onDocumentMouseMove, false);
document.addEventListener("mouseup", onDocumentMouseUp, false);

我将事件更改为

document.addEventListener("touchstart", onDocumentMouseDown, false);
document.addEventListener("touchmove", onDocumentMouseMove, false);
document.addEventListener("touchend", onDocumentMouseUp, false);

但这不适用于移动设备。

最佳答案

对于手机,请尝试这样。您必须使用 deviceready 函数进行启动。

document.addEventListener("deviceready", init, false);

function init() {   
    document.querySelector("#yourbuttonId").addEventListener("touchstart", onDocumentMouseDown, false)
}

此事件对于任何应用程序都是必不可少的。它表明 Cordova 的设备 API 已加载并准备好访问。

Cordova 由两个代码库组成: native 代码库和 JavaScript。加载 native 代码时,会显示自定义加载图像。然而,JavaScript 仅在 DOM 加载后才加载。这意味着 Web 应用程序可能会在相应的 native 代码可用之前调用 Cordova JavaScript 函数。

一旦 Cordova 完全加载,就会触发 deviceready 事件。事件触发后,您可以安全地调用 Cordova API。一旦加载了 HTML 文档的 DOM,应用程序通常会使用 document.addEventListener 附加一个事件监听器。

deviceready 事件的行为与其他事件略有不同。 deviceready 事件触发后注册的任何事件处理程序都会立即调用其回调函数。

http://docs.phonegap.com/en/4.0.0/cordova_events_events.md.html#deviceready

阅读此链接。

谢谢。

关于javascript - 鼠标事件在移动设备上不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34081238/

相关文章:

events - 如何在 Laravel 中将模型事件与查询生成器一起使用

ios - 你如何让 Font-Face 在 iOS 上加载字体?

javascript - 分辨率更高的手机上的响应式设计

javascript - jQuery 事件中 'this' 的对象上下文

javascript - 如何获取 JSON 对象中的数组数量

javascript - 使用 KineticJS 在 JavaScript 中拖动多层

javascript - 按键事件与点击事件

javascript - 为什么点击事件不总是触发?

javascript - 这是 JS 中 OOP 的一个很好的示例吗?

javascript - Twitter 共享链接在移动设备上不起作用,但在桌面设备上可用