在网格加载后启用Gridster调整大小

时间:2015-05-13 09:25:42

标签: javascript jquery resize gridster

我想让用户可以选择让他们的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

2 个答案:

答案 0 :(得分:0)

知道了!对不起,如果我在回答我自己的问题时很烦人,我在最初发帖之前确实找了很久!

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

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

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

答案 1 :(得分:0)

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