我有一个具有属性 status="lock" 的对象。代表这个对象的 div 是可调整大小和可拖动的。
对于可拖动,如果我使用以下逻辑,则拖动被有效锁定开始:{... if status==lock then return false ...}
但是调整大小的相同逻辑不起作用
我可以设置 resizable("disabled") 但想知道是否可以在开始或调整大小事件中停止调整大小
谢谢
我有一个具有属性 status="lock" 的对象。代表这个对象的 div 是可调整大小和可拖动的。
对于可拖动,如果我使用以下逻辑,则拖动被有效锁定开始:{... if status==lock then return false ...}
但是调整大小的相同逻辑不起作用
我可以设置 resizable("disabled") 但想知道是否可以在开始或调整大小事件中停止调整大小
谢谢
看起来您无法从 start/resize 方法中取消调整大小事件。
您可以使用选项指定不适用可调整大小事件的选择器cancel
。使用此策略,您必须为每个可调整大小的对象添加一个类,div
指示您是否希望调整其大小。
例如,假设您有一个这样的数据集:
var data = [
{ id: 'test1', status: 'lock' },
{ id: 'test2', status: 'unlock' },
{ id: 'test3', status: 'lock' }
];
你想用状态锁定那些项目:“锁定”。假设您有这样的代码从这些数据创建 DOM 元素:
var i, length = data.length;
for(i = 0; i < length; i++) {
$("body").append("<div id='" + data[i].id + "' class='resizable " + data[i].status + "'/>");
}
请注意,元素现在有一个类(锁定或解锁),具体取决于它们的“状态”属性。
现在,您可以执行以下操作来取消使用 class 调整元素的大小lock
:
$(".resizable").resizable({ cancel: ".lock" });
试试看:http: //jsfiddle.net/andrewwhitaker/CDUce/