【发布时间】:2018-03-14 05:30:57
【问题描述】:
我通过管理仪表板在我的数据库中存储了一些resizable 和draggable div 标签,并将它们输出到我的主网站上。但问题是,resizable 不起作用,但我设法使 draggable 起作用。
这是来自数据库的 DOM:
<div data-type="input" data-card="serial_no" data-title="Serial No" class="card-data card-text card-content serial_no serial_no_content ui-draggable ui-draggable-handle ui-resizable"><span>Content for Serial No</span>
<div class="ui-resizable-handle ui-resizable-n" style="z-index: 90;"></div>
<div class="ui-resizable-handle ui-resizable-e" style="z-index: 90;"></div>
<div class="ui-resizable-handle ui-resizable-s" style="z-index: 90;"></div>
<div class="ui-resizable-handle ui-resizable-w" style="z-index: 90;"></div>
</div>
注意:我将 DOM 包裹在一个 div 标记中,其类为 .card
您可以看到 ui-resizable-handle 和 ui-resizable-* 类已经存在,我在将 DOM 输出到类名为 .card 的包装器中后尝试了以下操作。
$(function(){
/**
* Searching for .card children with the class name .ui-resizable-handle
* and removing them
**/
$('.card').find('.ui-resizable-handle').each(function(i, v){
$(v).remove();
});
/**
* Iterating through .card again and making it's children draggable and resizable but this does not work.
**/
$('.card').children().each(function(i, v){
if($(v).attr('data-type') == 'input'){
$(v).draggable({containment: '.card-wrapper'}).resizable({
handles: "n, e, s, w"
});
}
});
});
执行此操作后,draggable 有效,但 resizable 无效。
请帮我解决这个问题。
提前致谢。
编辑: 这是Fiddle
【问题讨论】:
-
如果您可以通过 jsfiddle(或等效的)或 sn-p 制作一个有效的示例会有所帮助。
-
你的
v是动态元素吗? -
是的@AnandG。我正在使用 jQuery $.each 迭代器来遍历 .card 的所有子元素,这些子元素显然是
resizable。 -
你检查
v元素有draggable类吗? -
@AnandG 不是
draggable而是ui-draggable和ui-draggable-handle
标签: javascript jquery html css jquery-ui