0

これを例にとってみましょう。

http://jsbin.com/ufarif/6/

左の位置が80未満の場合、要素が左にドラッグされないようにしたいのですが、falseを返すと、ユーザーは要素をまったく(右にでも)ドラッグできません。

handle.draggable('disable');stopイベントがトリガーされるまで、完全に無視されます。

returnまたはreturn trueドラッグを停止しません。

私はオプションについて知っていcontainmentますが、私の条件は動的でありcontainment、引数として機能を取りません。

4

1 に答える 1

0

ドラッグする要素の位置を上書きできます。

このフィドルは、位置のオーバーライドの例です:http: //jsfiddle.net/QvRjL/74/

このフィドルは、ドラッグされた要素がコンテナの境界の近くにあるかどうかを確認する方法の例です:http: //jsfiddle.net/pPn3v/22/

$(document).mousemove(function(e){
   window.mouseXPos = e.pageX;
   window.mouseYPos = e.pageY;
}); 

$('[id^="drag-"]').each(function() {
    $(this).draggable({
        opacity: 0.7,
        cursorAt: { top: 15, left: 50 },        
        scroll: true,
        stop: function(){},  
        drag : function(e,ui){            
            //Force the helper position
            ui.position.left = window.mouseXPos - $(this).draggable('option','cursorAt').left;
            ui.position.top = window.mouseYPos- $(this).draggable('option','cursorAt').top; 
        });
});
于 2012-10-22T07:17:41.963 に答える