我使用GridStack库为我的小部件创建一个响应式布局。这是我的函数,我在按钮点击创建小部件
function AddWidget()
{
var grid = $('.grid-stack').data('gridstack');
var html = '<div class="grid-stack-item-content">';
html += '<div class="col-md-3"> <label> Sample Textbox </label></div>';
html += '<div class="col-md-9"> <input type="text" class="form-control" /> </div>';
html += '</div>';
grid.addWidget($(html), 0, 0, 4, 1)
}
Widget正在成功创建。我也可以调整它的大小。但问题是它们不是可拖动的。我可以在我的小部件项目html上看到ui-draggable类,但它们没有拖动。
如果我已经在我的布局中定义了小部件,然后初始化了stackgrid,它们就可以正常工作。
4条答案
按热度按时间ncecgwcz1#
在这里查看Gridstack浮点网格演示http://gridstackjs.com/demo/float.html
添加另一个div解决了您的问题-您需要将class=“grid-stack-item-content”的div嵌套在另一个div中。这个顶部div将初始化为小部件。
例如:
这解决了您的问题,并正确添加了一个小部件,您现在可以正常拖动。希望有帮助!
kdfy810k2#
当你需要帮助而人们给予你错误的信息时,情况就更糟了,如果你不知道该去哪里,不表明,除了不尊重之外,它还迫使人们寻找不存在的东西。
可能你的错误和我的一样,我忽略了一个父div,直接包括
<div class="grid-stack-item-content">
,当它不应该的时候,因为它是<div class="grid-stack-item">
的女儿,请参阅正确的格式:把它放在click函数中,看看它是否适合你:
t1rydlwq3#
对我来说,jQuery被加载到页面的其他地方,并导致与GridStack的一部分冲突,该部分在添加小部件后添加了resize元素,另外还导致任何后续JS失败。
我通过删除
<script>
标签来添加GridStack JS并使用下面的代码来解决这个问题:幸运的是,框架作者计划很快删除jQuery!
xfyts7mz4#
你可以试试