如何锁定/冻结/临时禁用jQuery ui可拖动事件?
以此为例 如果left position小于80,我想冻结元素被向左拖动。但是,如果我返回false,则用户根本无法拖动该元素(甚至向右)如何锁定/冻结/临时禁用jQuery ui可拖动事件?,jquery,jquery-ui,jquery-ui-draggable,Jquery,Jquery Ui,Jquery Ui Draggable,以此为例 如果left position小于80,我想冻结元素被向左拖动。但是,如果我返回false,则用户根本无法拖动该元素(甚至向右) handle.draggable('disable') return或return true不会停止拖动 请注意,我知道包含选项,但是,我的条件是动态的,包含不将函数作为参数。您可以覆盖正在拖动的元素的位置 此小提琴是位置超控的一个示例: 此提琴示例说明了如何检查拖动的元素是否靠近容器的边界: 你是对的。我制作了更多的现场演示,可能需要相同的功能。 $(d
handle.draggable('disable')在触发停止
事件之前,将完全忽略code>
return
或return true
不会停止拖动
请注意,我知道包含
选项,但是,我的条件是动态的,包含
不将函数作为参数。您可以覆盖正在拖动的元素的位置
此小提琴是位置超控的一个示例:
此提琴示例说明了如何检查拖动的元素是否靠近容器的边界:
你是对的。我制作了更多的现场演示,可能需要相同的功能。
$(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;
});
});