【发布时间】:2013-07-31 11:57:48
【问题描述】:
所以我有一个 Web 应用程序,它从登录按钮路由到我运行 initialize() 函数的仪表板,其中包含一个 document.ready() 块。问题是,在主干route 上,document.ready() 块似乎没有运行。这里有一些代码要清除:
这是我的着陆页视图中的一个事件:
events:
'click .pure-menu .signin':
() ->
application.router.navigate('dash', {trigger: true})
然后将应用程序路由到我的仪表板视图:
module.exports = class DashView extends Backbone.Marionette.ItemView
id: 'dash-view'
template: template
initialize: ->
$ ->
$(".gridster ul").gridster(
widget_margins: [10, 10]
widget_base_dimensions: [140, 140]
)
我有一个 jQuery document.ready() 块,其中包含在加载 dom 后运行的一些代码。
我正在使用Gridster 库,但是当页面路由时,此代码没有运行,因为 Gridster 网格没有被初始化。
当我刷新页面时,一切都按预期工作。
我猜想当页面路由时,jQuery 没有得到“dom 加载”事件,所以块没有被执行?我不知道。任何帮助将不胜感激。
为了解决使用 hack,有谁知道如何通过页面刷新在主干中路由?
【问题讨论】:
-
是什么给 DOM 添加了
.gridster ul? -
它们目前作为无序列表添加到模板中,然后gridster库在我的
initialize函数中初始化它们
标签: javascript jquery backbone.js coffeescript marionette