AlloyTeam / AlloyCrop

The best and tiny size mobile cropping component - 做最好且最小的移动裁剪组件
https://alloyteam.github.io/AlloyCrop/
943 stars 145 forks source link

选区可以随意拖动 #19

Open PENG199 opened 6 years ago

PENG199 commented 6 years ago

选区可以随意拖动,甚至可以拖动到图片外面。并没有限制只能在图片大小的范围的进行拖动。希望能修复。

bullyork commented 6 years ago

@PENG199 master的代码可以用,npm没有更新,不过master的代码需要改一下。 alloy-crop.js文件中

pressMove: function (evt) {
    var cr = self.img.getBoundingClientRect();
    var boxOffY = (document.documentElement.clientHeight - self.height)/2;
    if((boxOffY - cr.top - evt.deltaY >= 0) && (cr.bottom + evt.deltaY - boxOffY>= self.height)){
        self.img.translateY += evt.deltaY;
    }
    var boxOffX = (document.documentElement.clientWidth - self.width)/2;
    if((cr.left + evt.deltaX <= boxOffX) && (cr.right + evt.deltaX - boxOffX >= self.width)){
        self.img.translateX += evt.deltaX;  
    }
    evt.preventDefault();
}
dntzhang commented 6 years ago

npm 刚发布了~~