【问题标题】:JavaScript executes for a computer but not for a iPadJavaScript 可以在计算机上执行,但不能在 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;

【问题讨论】:

  • 您可以发布您的复制代码或网址吗?

标签: javascript ipad


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-11-02
    • 2016-09-29
    • 2021-10-30
    • 2020-06-26
    • 1970-01-01
    • 2015-04-26
    • 1970-01-01
    相关资源
    最近更新 更多