如何阻止JcanvaScript拖动?

时间:2013-02-04 22:14:30

标签: javascript jcanvascript

如何停止可拖动的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();

    }

    }
});

1 个答案:

答案 0 :(得分:0)

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

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

你将无法将距离左侧100px的圆圈拖得更近。

要点是:

  1. 如果您的对象移出边界框:(a)设置克隆它,(b)将其设置为不可见。
  2. 如果您的对象移回边界框内:(a)删除克隆并(b)将对象再次设置为可见
  3. 如果用户释放对象:执行与上面的(2)相同的操作。
  4. 祝你好运!