Jquery UI 可调整大小的自定义处理程序不起作用



我遇到了一个问题,我有一个div,我想使用自定义句柄调整大小。

handles: {
'nw': '.tl',
'ne': '.tr',
'sw': '.bl',
'se': '.br',
'e': '.r',
'w': '.l'
}

所以我为每个方向设置了类。但是当我执行 nw,w 和 sw 时,它们无法从左侧调整大小,实际上它们的行为就好像它们是新的 e 和 se。 这是一个实时代码来了解更多信息。

http://jsfiddle.net/zhgouqc3/1/

考虑以下示例:

https://jsfiddle.net/Twisty/cdLn56f1/

.HTML

<div id="vidsub" style="position: relative; width: 417px; height: 53px; margin: 10px;background: red; z-index: 100;">
sdsds
<div class="l ui-resizable-handle ui-resizable-w resizable-wrapper" id="w"></div>
<div class="r ui-resizable-handle ui-resizable-e resizable-wrapper" id="e"></div>
<div class="tl ui-resizable-handle ui-resizable-nw" id="nw"></div>
<div class="tr ui-resizable-handle ui-resizable-ne" id="ne"></div>
<div class="bl ui-resizable-handle ui-resizable-sw" id="sw"></div>
<div class="br ui-resizable-handle ui-resizable-se" id="se"></div>
</div>

.CSS

.ui-resizable-handle {
position: absolute;
width: 12px;
height: 12px;
background: rgb(255, 0, 106);
border-width: 1.5px;
border-style: solid;
border-color: rgb(255, 255, 255);
border-image: initial;
border-radius: 999px;
}
.resizable-wrapper {
width: 8px;
height: 16px;
}
.l {
left: -4px;
top: calc(50% - 10px);
}
.r {
right: -4px;
top: calc(50% - 10px);
}
.tl {
left: -6px;
top: -6px;
}
.tr {
right: -6px;
top: -6px;
}
.bl {
left: -6px;
bottom: -6px;
}
.br {
right: -6px;
bottom: -6px;
}

JavaScript

$(function() {
$('#vidsub').resizable({
handles: {
'nw': '.tl',
'ne': '.tr',
'sw': '.bl',
'se': '.br',
'e': '.r',
'w': '.l'
}
});
});

请查看文档:

  • https://api.jqueryui.com/resizable/#option-handles

注意:生成自己的句柄时,每个句柄必须具有ui-resizable-handle类以及相应的ui-resizable-{direction}类,例如ui-resizable-s

因此,您必须调整类以适应句柄的需求。这将处理很多光标和 CSS。此外,您的小提琴设置不正确,已更正。

最新更新