2016-05-13 63 views
1

這裏是使用jQuery UI的angularJS指令。我想在resize函數中設置可以調整大小的元素的最大寬度。這怎麼可能?角度js指令的大小與jQuery UI不能設置最大寬度

app.directive('resizable', function() { 

     return { 
      restrict: 'A', 
      scope: { 
       callback: '&onResize' 
      }, 
      link: function postLink(scope, elem, attrs) { 
       elem.resizable({ grid:200, handles: 'e,w'}); 
       elem.on('resize', function (evt, ui) { 


          scope.$apply(function() { 
           if (scope.callback) { 
            scope.callback({$evt: evt, $ui: ui }); 


            //here is where I want to set maximum width 


           } 
          }) 



       }); 


      } 
     }; 
    }); 

回答

1

根據API docs你只需要設置maxWidth選項:

$(".selector").resizable({ 
    maxWidth: 300 
}); 

您還可以動態地調用它:

$(".selector").resizable("option", "maxWidth"); 

的事實是,如果你從調整大小叫它事件處理程序,我認爲這個更改只會影響下一個觸發器。

+0

是的,我們可以設置最大寬度。但我需要的是我想在resize函數中動態設置最大寬度。 –

+0

好的,那麼你爲什麼要這樣做,因爲它似乎有點危險..? – n00dl3

+0

我想從ui對象中獲取元素寬度,如ui.size.width,並根據該值我必須更改最大可調整大小的寬度。 –