在pageshow事件触发时动态插入DOM

时间:2014-11-14 14:07:04

标签: javascript jquery jquery-mobile cordova

在我的jQuery移动应用程序中,需要在调用pageshow事件时插入DOM我尝试了一整天但没有成功。

首先在document.ready中插入一些字段,之后需要在触发pageshow事件时插入一些其他字段。

以下是我尝试过的Fiddle

$(document).on("pageshow", "#a", function () {
    var a = $("#aDivMoreOptions").append("<h1>Hell</h1>");
});

注意*:严格只需要在pageshow事件上插入,而不是页面创建事件,因为在刷新所有DOMS之后插入pagecreate事件时都消失了。

2 个答案:

答案 0 :(得分:2)

而不是document.ready,在第二页上插入面板:

$(document).on("pageinit", "#a", function(){ $("#a").append(...) });

然后当处理pageshow时,面板将在那里。

  

更新了 FIDDLE

答案 1 :(得分:0)

您是在呼叫$("#a").trigger("pagecreate");并正在倾听on("pageshow", "#a")。 只需将$("#a").trigger("pageshow")放在另一个触发器下方。

就像那样:

$("#a").trigger("pagecreate");
$("#a").trigger("pageshow");