带拖放功能的iPhone jQuery操作

带拖放功能的iPhone jQuery操作,jquery,iphone,html,Jquery,Iphone,Html,我正在努力实现以下目标。当用户将图标拖动到html页面中的特定位置并保持约3秒钟时,它必须自动创建一个新页面(如果没有页面),否则转到下一页(或上一页) 使用jQuery可以实现这一点吗?如果是,我必须如何认识到这一点 我发现并尝试了以下解决方案: 使用Remy Sharp mousedrop插件。在这个插件中,我可以使用timerinterval来计算我是否在某个特定区域停留了一段时间 $(this).mousedown(function(interval)) { } 但不知何故,我无法使

我正在努力实现以下目标。当用户将图标拖动到html页面中的特定位置并保持约3秒钟时,它必须自动创建一个新页面(如果没有页面),否则转到下一页(或上一页)

使用jQuery可以实现这一点吗?如果是,我必须如何认识到这一点

我发现并尝试了以下解决方案:

使用Remy Sharp mousedrop插件。在这个插件中,我可以使用timerinterval来计算我是否在某个特定区域停留了一段时间

$(this).mousedown(function(interval))
{

}
但不知何故,我无法使用jQueryUI的拖放功能。我已经用jQueryUI开发了一些代码,但是它是否有用呢?我真的不知道

    $("#pickUpDiv").draggable({
    start: function () {

    },
    drag: function() {
        var timeOutPointer = -1;
        var focusElm       = $("#focusCenter");
        var leftTopPos     = focusElm.position();
        var height         = focusElm.height();
        var width          = focusElm.width();
        var rightBottomPos = {
            right:  leftTopPos.left + width,
            bottom: leftTopPos.top + height
        };

        var pos = $(this).position();

        if ((pos.left > leftTopPos.left && pos.top > leftTopPos.top) && (pos.left < rightBottomPos.right && pos.top < rightBottomPos.bottom)) {
            $(document).mousehold(function(timerInterval) {
                if (timerInterval == 30) {
                    createNewPage();
                } else {

                }
            });
        }
    },
    stop: function() {

    }
});
$(“#pickUpDiv”).draggable({
开始:函数(){
},
拖动:函数(){
var timeOutPointer=-1;
var focusElm=$(“#focusCenter”);
var leftTopPos=focusElm.position();
var height=focusElm.height();
var width=focusElm.width();
var rightBottomPos={
右:leftTopPos.left+宽度,
底部:leftTopPos.top+高度
};
var pos=$(this.position();
如果((位置左侧>左侧顶部>左侧顶部和位置顶部>左侧顶部)和((位置左侧<右侧底部位置右侧和位置顶部<右侧底部位置底部)){
$(文档).mousehold(函数(timerInterval){
如果(timerInterval==30){
createNewPage();
}否则{
}
});
}
},
停止:函数(){
}
});
这是我的测试设置:

<div id="focusCenter" style="height: 200px; width: 200px; border: 1px solid black;">

</div>

<div id="pickUpDiv" style="height: 100px; width: 100px; background-color: red;">
    &nbsp;
</div>


我希望有人能在这方面帮助我,或者至少为我指明正确的方向……:)已经提前感谢您了。

您可能需要连接到
touchstart
touchmove
touchend
事件

以下是一篇关于mobile safari处理鼠标/触摸事件的文章:

编辑:

决定将我的评论编辑到我的答案中:


我做了类似的事情。我所做的是,当鼠标输入一个对象时,我向该对象添加了一个类,并设置了一个超时,以查看该对象在n秒后是否仍然有一个类。在mouseout上删除类并删除计时器。如果解释不够,我会看看是否能找到示例代码。我的任务是在树结构中拖放“文件”,并在悬停等待后展开文件夹

是的,我已经看到了,但这不是我的意思:)我想要的是,当你用一个图标拖到网站上的一个特定区域,你把它保持在那里3秒钟,它必须移动到上一页,当它存在或创建一个新页:)我做了类似的事情。我所做的是,当鼠标输入一个对象时,我向该对象添加了一个类,并设置了一个超时,以查看该对象在n秒后是否仍然有一个类。在mouseout上删除类并删除计时器。如果解释不够,我会看看是否能找到示例代码。我的是在树结构中拖放“文件”,并在悬停等待后展开文件夹。真是太棒了!这已经是一个很好的解释了!这就是我需要的方向,谢谢:)@Michiel Peeters:我已经更新了我的答案,加入了评论。你想让我找到示例代码吗?