handles: {
'nw': '.nw',
'ne': '.ne',
'sw': '.sw',
'se': '.se',
'n': '.n',
'e': '.e',
's': '.s',
'w': '.w'
},aspectRatio: true
//Button click change resizable aspectRatio to false
$().resizable("destroy").resizable({
handles: {
'nw': '.nw',
'ne': '.ne',
'sw': '.sw',
'se': '.se',
'n': '.n',
'e': '.e',
's': '.s',
'w': '.w'
},aspectRatio: false
});
我有一个按钮单击会将可调整大小的纵横比更改为假。
我的问题是当我使用可调整大小的销毁时,它会删除所有句柄元素。
有人知道如何在不删除任何元素的情况下更新可调整大小的吗?
据
我搜索,没有直接的方法可以做到这一点。要实现此功能,您可能需要编辑插件并在其中添加两行代码。您可以为 aspectRatio 创建一个全局变量,并告诉代码引用该变量并重新调整大小。
jquery-ui.js
文件中搜索以下代码(使用版本1.11.2测试(
if (this._aspectRatio || event.shiftKey) {
data = this._updateRatio(data, event);
}
并将其替换为
if(typeof window.globalAspectRatio != "undefined")
this._aspectRatio = !!(window.globalAspectRatio);
if (this._aspectRatio || event.shiftKey) {
data = this._updateRatio(data, event);
}
现在,如果window.globalAspectRatio
已设置且不为空,则aspectRatio
将为真,否则为假。你可以像这样使用它
$('button').click(function(){
window.globalAspectRatio = !(window.globalAspectRatio);
})