jquery可调整大小返回false

时间:2011-01-05 20:29:35

标签: jquery jquery-ui jquery-ui-resizable

我有一个属性status =“lock”的对象。表示此对象的div是可调整大小和可拖动的。

对于draggable,如果我使用以下逻辑,则拖动被有效锁定 start:{...如果status == lock则返回false ...}

但是resizable的相同逻辑不起作用

我可以设置resizable(“disabled”)但是想知道我是否可以在启动或调整大小事件中停止调整大小

谢谢

1 个答案:

答案 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" });

尝试一下:http://jsfiddle.net/andrewwhitaker/CDUce/