【问题标题】:Enabling Gridster resize AFTER grid has loaded加载网格后启用 Gridster 调整大小
【发布时间】:2015-05-13 09:25:41
【问题描述】:

我想让用户选择让他们的 Gridster 仪表板中的所有网格可调整大小(在呈现网格之后),但我似乎无法让它工作。在用户做出选择后,我已经尝试了这两个选项,但它们什么也没做:

gridster.resize = {
    enabled: true
}

gridster.resizable({
    resize: {
        enabled: true
    }
})

我想知道是否有一种方法可以在不引起用户注意的情况下重新加载 Gridster 小部件,但如果不重新加载整个页面,我找不到任何可以做到这一点的方法。

顺便说一句,我测试了调整大小确实可以在开始时启用它,如下所示:

// dashboard_config is a JSON file containing all the dashboard settings
gridster = $(dashboard_config.target).find("ul").gridster( {
    widget_base_dimensions: dashboard_config.widget_base_dimensions,
    widget_margins: dashboard_config.widget_margins,
    max_size_x: 10,
    max_size_y: 5,
    draggable: { 
        handle: 'h2'
    },
    resize: {
        enabled: true
    }
} ).data('gridster');

顺便说一句,我还为用户提供了在加载网格后切换“拖动”的选项。这确实可以在用户做出选择后执行以下操作之一:

// turn on dragging
gridster.enable()

// turn off dragging
gridster.disable()

如果有人有任何想法,那就太好了。

谢谢!

更新

我遇到了 enable_resize() 和 disable_resize(),但我在 Firebug 控制台中收到此错误(随后它不起作用):

TypeError: this.resize_api is undefined

【问题讨论】:

    标签: javascript jquery resize gridster


    【解决方案1】:

    知道了!抱歉,如果我回答自己的问题很烦人,我在最初发布之前确实寻找了很长时间!

    enable_resize() 和 disable_resize() 确实是用于在网格初始化后切换调整大小的正确函数。

    下面的用户似乎发现了相同的错误,但通过在初始化中启用调整大小来解决它,但之后立即禁用调整大小。如果调整大小设置为 false,这与在开始时未创建 resize_api 有关。我只能认为这是一个错误......

    https://github.com/ducksboard/gridster.js/issues/316

    【讨论】:

      【解决方案2】:

      您可以创建 gridster 配置的深层副本并将 null 分配给 prev 配置并再次分配它以重新触发 gridster 重新加载。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-09-04
        • 2016-09-10
        • 2012-03-24
        • 2012-12-22
        • 1970-01-01
        • 2012-02-09
        相关资源
        最近更新 更多