[ipad] jquery-ui 정렬 가능 | iPad / 터치 장치에서 어떻게 작동합니까?

iPad 및 기타 터치 장치에서 작동하는 jQuery-UI 정렬 가능 기능을 얻으려면 어떻게해야합니까?

http://jqueryui.com/demos/sortable/

내가 사용하는 시도 event.preventDefault();, event.cancelBubble=true;event.stopPropagation();touchmovescroll이벤트,하지만 결과는 페이지가 더 이상 이동하지 않는 것이 었습니다.

어떤 아이디어?



답변

해결책을 찾았습니다 (지금까지 iPad에서만 테스트되었습니다!)!

http://touchpunch.furf.com/content.php?/sortable/default-functionality


답변

sortable모바일에서 작업 하기 위해 . 다음 과 같이 터치 펀치를 사용 하고 있습니다.

$("#target").sortable({
  // option: 'value1',
  // otherOption: 'value2',
});

$("#target").disableSelection();

disableSelection();정렬 가능한 인스턴스를 만든 후 추가에 유의하십시오 .


답변

Tom, mouseProto._touchStart 이벤트 에 다음 코드를 추가 했습니다.

var time1Sec;
var ifProceed = false, timerStart = false;
mouseProto._touchStart = function (event) {

    var self = this;

    // Ignore the event if another widget is already being handled
    if (touchHandled || !self._mouseCapture(event.originalEvent.changedTouches[0])) {
        return;
    }

    if (!timerStart) {
        time1Sec = setTimeout(function () {
            ifProceed = true;
        }, 1000);
        timerStart=true;
    }
    if (ifProceed) {
        // Set the flag to prevent other widgets from inheriting the touch event
        touchHandled = true;

        // Track movement to determine if interaction was a click
        self._touchMoved = false;

        // Simulate the mouseover event
        simulateMouseEvent(event, 'mouseover');

        // Simulate the mousemove event
        simulateMouseEvent(event, 'mousemove');

        // Simulate the mousedown event
        simulateMouseEvent(event, 'mousedown');
        ifProceed = false;
         timerStart=false;
        clearTimeout(time1Sec);
    }
};


답변