1

我有一个具有属性 status="lock" 的对象。代表这个对象的 div 是可调整大小和可拖动的。

对于可拖动,如果我使用以下逻辑,则拖动被有效锁定开始:{... if status==lock then return false ...}

但是调整大小的相同逻辑不起作用

我可以设置 resizable("disabled") 但想知道是否可以在开始或调整大小事件中停止调整大小

谢谢

4

1 回答 1

0

看起来您无法从 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/

于 2011-01-06T02:57:53.520 回答