首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在jQuery调整中更改特定的元素调整选项

在jQuery调整中更改特定的元素调整选项
EN

Stack Overflow用户
提问于 2015-05-31 13:01:24
回答 1查看 108关注 0票数 0

我使用的是jQueryUI可调整大小的小部件,页面上有一堆可调整大小的框。当文档加载时,我初始化小部件,如下所示:

代码语言:javascript
运行
复制
$('.ui-draggable').resizable({
    minHeight: 10, // 10 is actually the default
    minWidth: 10, // 10 is actually the default
    resize: function() {
        showProperties(this);
    },
});

但是,在某种程度上,我只希望这些元素中的一些更改大小选项。我想做的是:

代码语言:javascript
运行
复制
if (type == 'sometype')
{
    console.log($('#'+elementID).resizable('option', 'handles'));
    $('#'+elementID).resizable('option', 'handles', 'e,w');
    console.log($('#'+elementID).resizable('option', 'handles'));
}

这确实产生了以下结果:

代码语言:javascript
运行
复制
e,s,se
e,w

在控制台中,因此事件被触发,选择器是正确的,但代码实际上不起作用:实际上,句柄保持不变,即e,s,se。

这是因为我使用的是与原始init不同的选择器吗?如果是这样的话,如何仅在原可调整大小元素的子集上更改调整大小选项?如果没有,会有什么问题呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-05-31 14:44:12

Handles实际上是添加到应用resizable的元素中的div。似乎更改选项并不会刷新这些句柄。也许有一种方法可以将更改应用于特定的子集和刷新,但我不确定如何实现。但是,一个快速的解决方法是隐藏不想要的句柄,而不是更改handle选项。您必须将handle选项设置为您需要的所有句柄,然后隐藏那些不需要的句柄。例如,像这样删除se handle

代码语言:javascript
运行
复制
$('#'+elementID).find('.ui-resizable-se').hide();
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30557737

复制
相关文章

相似问题

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