【问题标题】:angular js directive for resizing with jquery ui cannot set maximum width用于使用 jquery ui 调整大小的角度 js 指令无法设置最大宽度
【发布时间】:2016-05-13 09:22:43
【问题描述】:

这里是使用 jquery UI 的 angularJS 指令。我想在 resize 函数中设置可以调整大小的元素的最大宽度。这怎么可能?

 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


                                } 
                            })



                });


            }
        };
    });

【问题讨论】:

    标签: javascript jquery angularjs angularjs-directive


    【解决方案1】:

    根据API docs,您只需设置maxWidth 选项:

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

    你也可以动态调用它:

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

    事实上,如果你从 resize 事件处理程序中调用它,我认为更改只会影响下一个触发器。

    【讨论】:

    • 是的,我们可以像这样设置最大宽度。但我需要的是我想在调整大小函数中动态设置最大宽度。
    • 好的,那你为什么要这样做,因为它看起来有点危险..?
    • 我想从 ui.size.width 之类的 ui 对象中获取元素宽度,并根据该值更改最大可调整宽度。
    • 问题是改变会影响下一个resize事件而不是当前事件
    • 我们可以这样设置 ui.size.width
    猜你喜欢
    • 2016-03-30
    • 1970-01-01
    • 1970-01-01
    • 2012-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-28
    • 1970-01-01
    • 2015-03-31
    相关资源
    最近更新 更多