2017-12-21 7 views
1

을 사용하여 드래그 앤 드롭으로 페이지를 이동했습니다.PDFTron Webviewer - PDFTron Viewer 2.2.2에서 섬네일 드래그 앤 드롭 이동

그러나 3.0.1 및 3.1.0에서는 가능하지 않습니다. 드래그 앤 드롭 이벤트를 차단합니까? (모든 브라우저는 영향을받는) 우리 config.js 여기에

코드가

$uidisplay = $("#ui-display"); 
     $uidisplay.on("dragstart", function(event) { 
    try{ 
     if($.type(event.originalEvent.dataTransfer)!="undefined"){ 
     event.originalEvent.dataTransfer.setData("text",""); 
     event.originalEvent.dataTransfer.setDragImage(dragImg, 10, 10); 
     } 
    } 
    catch (e) { 
     e.message; 
    } 
    $dragCanvas = _createCanvas(); 
    $thumbnailsPane.scroll(_paneOnScroll); 
    $(".ui-state-selected",$thumbnailsPane).css({"opacity" : "0.4"}); 
}); 
     $uidisplay.on("dragover", function(event) { 
    var $context = event.target==$thumbnailsPane.get(0) ? $(event.target) : $(event.target).parents("#thumbnailView"); 
    var changeClass = false; 
    if($context.length){ 
     changeClass = _setOnDragSelector(event.originalEvent ? event.originalEvent : event); 
     if(event.target==$thumbnailsPane.get(0)){ 
     changeClass = false; 
     _scrollViewPane(event); 
     } 
    } 
    if(!changeClass){ 
     $(".ui-state-drag-enter-left",$thumbnailsPane).removeClass("ui-state-drag-enter-left"); 
     $(".ui-state-drag-enter-right",$thumbnailsPane).removeClass("ui-state-drag-enter-right"); 
    } 
    if((ondragCount++)%10==0){ 
     //console.log("ondragCount"); 
     $dragCanvas.css({'top' : (event.originalEvent.clientY + 10) + "px", 'left' : (event.originalEvent.clientX + 10) + "px"}); 
    } 
}); 
     $uidisplay.on("dragend", function(event) { 
    //console.log("dragend : " + $(event.target).prop("tagName")); 
    onScrollCount = 0; 
    ondragCount = 0; 
    $dragCanvas.remove(); 
    $dragCanvas = null; 
    var $target = $(".ui-state-drag-enter-left,.ui-state-drag-enter-right"); 
    if($target.length && $target.hasClass("thumbContainer") && Number($thumbnailsPane.attr("drag-enter-id"))>=0){ 
     _movePages(); 
    }else{ 
     _endOnDragSelector(); 
    } 
}); 

답변

1

그것은 다음과 같습니다 때문에 데스크탑을 사용할 때 주위를 움직이고에서 페이지를 방지하기 위해 웹 뷰어에 추가 된 코드로 일어나고있다 뷰어는 터치 스크린이있다.

이 동작을 해결할 수있는 한 가지 방법은 축소판을 가리키면 문서로 다시 이동할 때 "이동"도구로 전환하는 것입니다. 팬 도구에 동일한 이벤트 방지 코드가 없기 때문에이 작업이 가능합니다. 다음은 설정 파일에 추가 할 수있는 코드입니다 :

$(document).on('documentLoaded', function() { 
    var oldToolMode; 

    $('#thumbnailView').on('mouseenter', function() { 
    oldToolMode = readerControl.getToolMode(); 
    readerControl.setToolMode('Pan'); 
    }); 

    $('#thumbnailView').on('mouseleave', function() { 
    readerControl.setToolMode(oldToolMode); 
    }); 
}); 
관련 문제