如何禁用jquery-ui可拖动?
如何禁用jQuery可拖动,例如在UpdatePanel回发期间?
可以创build一个DisableDrag(myObject)和一个EnableDrag(myObject)函数
myObject.draggable( 'disable' )
然后
myObject.draggable( 'enable' )
要暂时禁用可拖动的行为,请使用:
$('#item-id').draggable( "disable" )
要永久删除可拖动的行为,请使用:
$('#item-id').draggable( "destroy" )
在jQuery中启用/禁用可拖动我使用:
$("#draggable").draggable({ disabled: true }); $("#draggable").draggable({ disabled: false });
@Calciphus的答案不适合我的透明度问题,所以我用:
div.ui-state-disabled.ui-draggable-disabled {opacity: 1;}
也在移动设备上工作。
这里是代码: http : //jsfiddle.net/nn5aL/1/
启用 禁用 可拖动 jQuery的 不透明 问题的 HTML
我花了一点时间来弄清楚如何禁用可拖放的使用ui.draggable
引用从拖放function内拖动的对象:
$("#drop-target").droppable({ drop: function(event, ui) { ui.draggable.draggable("disable", 1); // *not* ui.draggable("disable", 1); … } });
HTH的人
似乎没有人看过原始文档。 可能当时没有)))
使用指定的禁用选项初始化可拖动。
$( ".selector" ).draggable({ disabled: true });
初始化后获取或设置禁用选项。
//getter var disabled = $( ".selector" ).draggable( "option", "disabled" ); //setter $( ".selector" ).draggable( "option", "disabled", true );
在对话框中,它有一个名为draggable的属性,将其设置为false。
$("#yourDialog").dialog({ draggable: false });
尽pipe这个问题很老,但是我尝试了所提出的解决scheme,并且它不适用于对话框。 希望这可以帮助像我这样的人。
以下是这个在.draggable({});
里面的样子.draggable({});
$("#yourDraggable").draggable({ revert: "invalid" , start: function(){ $(this).css("opacity",0.3); }, stop: function(){ $(this).draggable( 'disable' ) }, opacity: 0.7, helper: function () { $copy = $(this).clone(); $copy.css({ "list-style":"none", "width":$(this).outerWidth() }); return $copy; }, appendTo: 'body', scroll: false });
更改draggable
属性
<span draggable="true">Label</span>
至
<span draggable="false">Label</span>
我有一个更简单和优雅的解决scheme,不会搞乱类,样式,不透明和东西。
对于可拖动的元素 – 添加“start”事件,每当您尝试将元素移动到某个位置时,都会执行该事件。 你将有一个条件,这是不合法的举动。 对于非法行为 – 使用'e.preventDefault();' 就像下面的代码一样。
$(".disc").draggable({ revert: "invalid", cursor: "move", start: function(e, ui){ console.log("element is moving"); if(SOME_CONDITION_FOR_ILLEGAL_MOVE){ console.log("illegal move"); //This will prevent moving the element from it's position e.preventDefault(); } } });
不用谢 :)