我有一个属性status =“lock”的对象。表示此对象的div是可调整大小和可拖动的。
对于draggable,如果我使用以下逻辑,则拖动被有效锁定 start:{...如果status == lock则返回false ...}
但是resizable的相同逻辑不起作用
我可以设置resizable(“disabled”)但是想知道我是否可以在启动或调整大小事件中停止调整大小
谢谢
答案 0 :(得分:0)
看起来你不能从start / resize方法取消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 + "'/>");
}
请注意,元素现在有一个类(锁定或解锁),具体取决于它们的“status”属性。
现在,您可以执行以下操作取消调整具有类lock
的元素的大小:
$(".resizable").resizable({ cancel: ".lock" });