jquery GridStack-设置静态网格

insrf1ej  于 2022-12-18  发布在  jQuery
关注(0)|答案(2)|浏览(335)

我试着让网格静止。完全没有移动。
我试过:

var options = {
        staticGrid: true,
    };
    $('.grid-stack').gridstack(options);

还有这个

var options = {
        setStatic: true,
    };
    $('.grid-stack').gridstack(options);

还有这个

var options = {
        staticGrid: true,
    };
    $('.grid-stack').gridstack(options);
    $('.grid-stack').data('gridstack').setStatic(true);


他们似乎都不工作,我用这个链接的文档.
他们还提到了一个方法setStatic,但是没有使用这个方法的例子。

e4eetjau

e4eetjau1#

根据Gridstack文档,如果您希望在启动时初始化网格并将其定义为静态(您的第一个方法),则staticGrid:true参数是正确的。
SetStatic(true)是一个函数,您可以调用它以编程方式切换此状态。
如果你查看源代码,你会看到一个新的CSS类被添加到网格 Package 器DIV中;名为“grid-stack-static”的类。此类的出现确认已接受并操作参数选项staticGrid:true
但是我发现我自己(使用v0.30的库),在我初始化的网格中的网格小部件仍然可以调整大小和移动。在我看来,这暗示了一个bug。
您可以使用项目属性data-gs-no-resize=“yes”data-gs-no-move=“yes”在小部件项目级别锁定移动和调整大小。
如果你已经说了“静态”,那么这样做似乎适得其反。
我已经在Github上提交了一个问题来质疑这种行为。
顺便说一句,建议在网格初始化后调用并使用
setStatic(true)函数;作为这个bug的临时修复。这是你的第三个方法
-这对我很有效。
您的第三种方法和我的方法之间的唯一区别是函数被 Package 在document.ready函数中(为了方便/兼容我的系统,我使用$=jquery快捷方式)。
工作时间:

(function ($) { 
  // Shortcut $=jquery

    $(document).ready(function () {
      // start grid

      $(function () {
        var options = {
             staticGrid:true
          };
         $('.grid-stack').gridstack(options);

         $('.grid-stack').data('gridstack').setStatic( true );
      });

    // END DOC READY
    }); 
// SHORTCUT FIX
})( jQuery );
vwkv1x7d

vwkv1x7d2#

只需在grid-stack的父Grid元素(gridstack已在其上初始化)上设置属性gs-static="true"

<div class="grid-stack" gs-static="true">
  <div class="grid-stack-item">
    <div class="grid-stack-item-content">Item 1</div>
  </div>
<!-- .. and so on -->
</div

相关问题