我创建了这个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/