2014-03-03 92 views
1

我有一个简单的resizable jQueryUI元素。取消JQueryUI可调整大小事件

element.resizable({ 
    start: function(event, ui) {...}, 
    resize: function(event, ui) { 
     if(!shouldMove()) { 
      return false; 
     } 
    } 
}); 

我认为应该return false取消任何jQuery的动作,但是它会调整无论shouldMove()响应。有没有不同的方式来取消jQuery可调整大小的动作?我也试着event.preventDefault();

感谢

回答

3

就触发鼠标松开事件:

element.resizable({ 
    start: function(event, ui) {...}, 
    resize: function(event, ui) { 
     if(!shouldMove()) { 
      $(this).mouseup(); 
     } 
    } 
}); 
+0

哦,那是聪明的。我从来没有想到这一点!另外,你有一个真棒姓氏。 –

+1

这仍然会使其调整为一个mousemove事件,然后将其禁用。所以实际上,如果用户继续重新调整resize处理程序,它仍然可以调整大小。 – Clox

0

设置原始尺寸元素的每个调整事件:

element.resizable({ 
    start: function(event, ui) {...}, 
    resize: function(event, ui) { 
     if(!shouldMove()) { 
      ui.element.width(ui.originalSize.width); 
      ui.element.height(ui.originalSize.height); 
     } 
    } 
}); 
相关问题