Javascript JQuery Mobile自定义Flipbox设置初始化值

Javascript JQuery Mobile自定义Flipbox设置初始化值,javascript,jquery-mobile,backbone.js,datebox,Javascript,Jquery Mobile,Backbone.js,Datebox,我有一个自定义的flipbox,在这里的接受答案中有描述: 我正在努力设置页面呈现后的初始值我的“更改页面”功能如下所示: changePage:function (page) { page.$el.attr('data-role', 'page'); page.render(); $('body').append(page.$el).trigger('create'); $.mobile.changePage(page.$el, {changeHash:fals

我有一个自定义的flipbox,在这里的接受答案中有描述:

我正在努力设置页面呈现后的初始值我的“更改页面”功能如下所示:

changePage:function (page) {
    page.$el.attr('data-role', 'page');
    page.render();
    $('body').append(page.$el).trigger('create');
    $.mobile.changePage(page.$el, {changeHash:false});

}
因为我使用Backbone.js管理视图,然后将导航委托给jQM

我基本上需要设置这个输入文本字段的初始值(可能有解决方法)


好的,我自己解决了这个问题,我愿意与大家分享解决方案:

首先,更改页面功能略有不同:

changePage:function (page) {
    page.$el.attr('data-role', 'page');
    //get rid of everything in the old page.
    page.remove();
    //render the page again
    page.render();
    $('body').append(page.$el).trigger('create');
    $.mobile.changePage(page.$el, {changeHash:false});

}
remove调用是清除旧呈现HTML中的每个事件侦听器所必需的

在每个需要init参数的页面中,可以在呈现函数中指定以下内容:

render: function(){

....

this.$el.on('pageshow',this.initFields);

....

}

initFields: function(){                                       
   // put your jQuery code here (e.g. this.$el.find('foo').val('initValue');                                    
}
请注意,从jQM文档开始,此解决方案在jQM的1.5.0版本之前有效,此后将不再触发pageshow事件