2011-02-15 55 views

回答

5

“取消”实际上不是在拖动的小部件的有效method

我遇到的取消拖动事件的最佳方式是从drag事件处理函数返回false。您可以根据您设置基于事件发生的一些情况做:

$("#draggable").draggable({ 
    drag: function() { 
     if ($(this).hasClass("cancel")) { 
      return false; 
     } 
    } 
}); 

所以,你会应用类cancel停止拖动。

这里有一个小例子中,我设置这将导致元素不再是可拖动的5秒后计时器:http://jsfiddle.net/andrewwhitaker/y2yrA/1/

+0

是的,你说得对。但这样做的问题是,我只是想取消处理程序在某一点,比如说用户将其拖动到最后,我想取消它,然后(因此它被从鼠标分离,并且可以移动),但是允许用户再次抓住它(所以另一个onmousedown事件)并拖动它。 – 2011-02-16 09:41:29