首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jQuery UI可调整大小在resize事件中停止调整大小

jQuery UI可调整大小在resize事件中停止调整大小
EN

Stack Overflow用户
提问于 2011-02-23 13:12:28
回答 9查看 30.6K关注 0票数 9

使用jQuery UI Resizable,我试图阻止基于各种规则调整大小。内置的容器功能似乎不能很好地处理绝对定位的元素,我需要一些比这更灵活的东西。

拥有这样的东西:

代码语言:javascript
复制
$( ".selector" ).resizable({ resize : function(event, ui) { /* ??? */ } });

我如何告诉"ui“对象阻止调整大小?

谢谢。

EN

回答 9

Stack Overflow用户

回答已采纳

发布于 2011-02-26 11:30:31

在当前版本中似乎是不可能的。

票数 0
EN

Stack Overflow用户

发布于 2012-06-01 14:40:00

这很简单,看看这段代码,可调整大小的浮动“左”div列,宽度固定和彼此限制。

代码语言:javascript
复制
var maxWidthOffset, total2Width;
        $('#'+this.id).find('ul:not(:last)').resizable({
            handles: 'e',
            ghost: true,
            delay: 200,
            helper: "overmoused",
            minWidth: 20,
            start: function(e, ui) {
                maxWidthOffset = ui.element.next().width()-20;
                total2Width = ui.element.width()+maxWidthOffset+20;
            },
            resize: function(e, ui) {
                if (ui.size.width > (ui.originalSize.width + maxWidthOffset)) {
                    $(this).resizable('widget').trigger('mouseup');
                }
            },
            stop: function(e, ui) {
                var w;
                if (ui.originalSize.width > ui.size.width) {
                    w = ui.element.next().width()+ui.originalSize.width - ui.size.width;
                    ui.element.next().width(w>20 ? w : 20);
                } else {
                    w = ui.element.next().width()-(ui.size.width - ui.originalSize.width);
                    ui.element.next().width(w>20 ? w : 20);
                }
                ui.element.width(total2Width-ui.element.next().width());
            }
        });
票数 20
EN

Stack Overflow用户

发布于 2013-04-03 16:51:10

在此版本中,没有停止调整大小的标准选项。您可以禁用可调整大小,但它将继续调整大小,并在您下次尝试时停止调整大小的选项。

代码语言:javascript
复制
$(".selector").resizable("disable");

无论如何,我发现您可以直接从Resize事件使用maxWidth和maxHeight属性来限制调整大小。

代码语言:javascript
复制
$(".selector").resizable({
    aspectRatio: true,
    handles: 'all',
    resize: function( event, ui ){
        if(x > y){
            (".selector").resizable("option","maxWidth",ui.size.width);
            return;
        }
    }
});
票数 12
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5087262

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档