JavaScript 可以在计算机上执行,但不能在 iPad 上执行

Posted

技术标签:

【中文标题】JavaScript 可以在计算机上执行,但不能在 iPad 上执行【英文标题】:JavaScript executes for a computer but not for a iPad 【发布时间】:2011-10-29 02:29:24 【问题描述】:

javascript 是为计算机执行的,但不是为 iPad 执行的。 我不确定是否还有其他手势。但是当我在浏览器上触摸并拖动它应该移动的项目时,它在计算机上会移动,但它会移动 iPad 上的整个屏幕。我是否需要在 JavaScript 中重写手势......以及如何?

这些手势似乎都不像 iPad 上的电脑那样起作用。

//global variables
var obj,x,y,dx,dy;
// set up draggable elements
function Setup()
    //exit if the browser doesn't support the DOM
    if (!document.getElementsByTagName) return;
    divs=document.getElementsByTagName("DIV");
    for (i=0; i<divs.length;i++)
        if (divs[i].className != "drag") continue;
        //set event handler for each div with class="drag"
        divs[i].onmousedown=Drag;
    

function Drag(e)
    //Start dragging an object
    if (!e) var e = window.event;
    //which object was clicked?
    obj=(e.target) ? e.target: e.srcElement;
    obj.style.borderColor="red";
    //calculate object offsets from mouse position
    dx=x-obj.offsetLeft;
    dy=y-obj.offsetTop;

function Move(e)
    //track mouse movements
    if (!e) var e =window.event;
    if (e.pageX)
        x=e.pageX;
        y=e.pageY;
    else if (e.clientX)
        x = e.clientX;
        y = e.clientY;
    else return;
    if (obj)
        obj.style.left=x-dx;
        obj.style.top=y-dy;
    

function Drop()
    //let go!
    if (!obj) return;
    obj.style.borderColor="black";
    obj=false;

//Detect mouse movement
document.onmousemove = Move;
//drop current object on mouse up
document.onmouseup = Drop;
//set up when the page loads
window.onload = Setup;

【问题讨论】:

您可以发布您的复制代码或网址吗? 【参考方案1】:

发生这种情况是因为 iPad/iPod Touch/iPhone/等是一开始的触控界面。要浏览大页面,您需要能够触摸和拖动屏幕。冯康拉德有一个great explanation about this issue here。

【讨论】:

以上是关于JavaScript 可以在计算机上执行,但不能在 iPad 上执行的主要内容,如果未能解决你的问题,请参考以下文章

我的程序可以在我的计算机上运行,​​但不能在 CodeEval 上运行

Javascript 不能在 localhost 上运行,但它可以在 Live 站点上运行

$("Iframe").contents() 在本地主机上工作但不能在线? [复制]

Qt UDpsocket 在同一台计算机上工作,但不在同一网络上的两台计算机上工作

使用 WMI 在远程计算机上执行 .cmd 文件

如何在远程计算机上执行vbs文件