Javascript 主干网.木偶网:jQuery document.ready未在路由上运行
因此,我有一个web应用程序,它从登录按钮路由到仪表板,在仪表板上运行Javascript 主干网.木偶网:jQuery document.ready未在路由上运行,javascript,jquery,backbone.js,coffeescript,marionette,Javascript,Jquery,Backbone.js,Coffeescript,Marionette,因此,我有一个web应用程序,它从登录按钮路由到仪表板,在仪表板上运行initialize()函数,其中包含document.ready()块。问题是,主干上的route似乎没有运行document.ready()块。下面是一些要清除的代码: 以下是我的登录页视图中的一个事件: events: 'click .pure-menu .signin': () -> application.router.navigate('dash', {trigger:
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]
)
其中有一个jQuerydocument.ready()
块,其中包含一些加载dom后要运行的代码
我正在使用库,但是当页面路由时,这段代码没有运行,因为Gridster网格没有初始化
当我刷新页面时,一切都按预期进行
我猜当页面路由时,jQuery不会得到“dom加载”事件,因此块不会被执行?我不确定。任何帮助都将不胜感激
要解决使用黑客的问题,有人知道如何通过页面刷新在主干中路由吗?我认为您应该在
onDomRefresh
方法中添加代码,而不是初始化
创建视图后会立即调用Initialize,因此此时视图的元素不会放置在DOM中,而onDomRefresh会在视图渲染、显示在DOM中或重新渲染后触发,因此它可能更适合您的需要
您可以在文档中查看它:什么将
.gridster ul
添加到DOM?它们当前作为无序列表添加到模板中,然后gridster库在我的initialize
函数中对它们进行初始化