Это не выглядит, как вы можете отменить изменить размер события из s tart/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 + "'/>");
}
Обратите внимание, что элементы теперь имеют класс (блокировки или разблокировки) в зависимости от их собственности «статус».
Теперь вы можете сделать следующее, чтобы отменить изменение размера на элементах с классом lock
:
$(".resizable").resizable({ cancel: ".lock" });
Попробуйте: http://jsfiddle.net/andrewwhitaker/CDUce/
Спасибо это хороший подход. Я принял это как ответ, но для своего приложения у меня есть событие mousedown, поэтому я вызываю evt.stoppropogation, когда флаг объекта установлен на «Lock». Таким образом, мне не нужно кодировать изменяемый размер и перетаскивать отдельно. – Nilesh