0

如何停止可拖动的 JcanvaScript 库?

例如一张图片,在拖放超出画布元素的情况下,我不想让图片超出它。

jc('#img1').draggable({

drag: function(){
    point=jc('#img1').position(); 

    if(point.x<0){
    //here stop draggable image

    //these options don't work
    //this.draggable('pause');
    //return;               
    //jc.pause();

    }

    }
});
4

1 回答 1

0

哇!这实际上是一个非常可怕的问题。真正可怕的是 JCanvasScript 不会触发onRelaseOutside事件。

我在这里发布了一个解决方案:http: //jsfiddle.net/qpuGw/

您将无法将圆圈从左侧拉近 100 像素。

要点是:

  1. 如果您的对象移动到边界框之外:(a)设置克隆它并(b)将其设置为不可见。
  2. 如果您的对象移回边界框内:(a)删除克隆并(b)再次将您的对象设置为可见
  3. 如果用户释放对象:同上(2)。

祝你好运!

于 2013-02-05T00:03:19.267 回答