簡體   English   中英

iPhone jQuery拖放操作

[英]iPhone jQuery actions with drag and drop

我正在努力實現以下目標。 當用戶將圖標拖到html頁面中的特定位置並保持約3秒鍾時,它必須自動創建一個新頁面(如果沒有頁面),否則轉到下一頁(或上一頁)。

使用jQuery是否可以實現? 如果是,我應該如何實現?

我發現並嘗試以下解決方案:

使用Remy Sharp mousedrop插件。 在此插件中,我可以使用timerinterval來計算我是否在特定區域中停留了一段時間。

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

}

但是以某種方式,我無法通過jQuery UI的拖放功能來完成此工作。 我已經使用jQuery UI開發了一些代碼,但是是否有用? 我真的不知道

    $("#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() {

    }
});

這是我的測試設置:

<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 touchmovetouchend事件

以下是有關移動瀏覽器對鼠標/觸摸事件的處理的文章: http : //blogs.adobe.com/adobeandjquery/2011/03/07/the-current-state-of-touch-events/

編輯:

決定將我的評論編輯成我的答案:

我做了類似的事情。 我所做的是,當鼠標進入一個對象時,我向該對象添加了一個類,並設置了超時時間,以查看該對象在n秒后是否仍然具有一個類。 在mouseout上刪除類並刪除計時器。 如果解釋不夠,我將看看是否可以找到示例代碼。 Mine用於在樹形結構中拖放“文件”並在懸停並等待后擴展文件夾。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM