在JQM data-role ='page'onload上加载javascripts

时间:2012-07-19 08:55:48

标签: javascript jquery jquery-mobile

有什么方法可以在JQM'页面'加载上运行javascripts吗?我有一个图表应该出现在我的JQM页面的单个页面中,但如果我将它加载到document.ready上,它只会显示我是否刷新了特定的JQM页面。如果我刷新任何其他“页面”,我的图表将无法加载。是否有某种onload("#myDiv")功能可以解决这个问题?我做的唯一其他解决方案是创建一个用户可以单击以加载图形的按钮,但它似乎是不必要的,应该能够自动加载它。

$(document).ready(function()
{
    $('#wordcloud').bind('pageinit', function() {
    alert("works!");
    });
})

上面的代码有点接近吗?我虽然没有收到警报。

还在div中,头部(内部和外部)document(ready)

中尝试了此代码
$('#wordcloud').live('pagebeforeshow', function() {
    alert(2);
});

3 个答案:

答案 0 :(得分:2)

正如doc所指出的,如果您想在jQueryMobile页面加载上执行某些操作,则必须使用$(document).bind('pageinit')

  

pageinit

     

在初始化页面上触发,初始化后发生。我们建议绑定到此事件而不是DOM ready(),因为无论是直接加载页面还是将内容作为Ajax导航系统的一部分拉入另一个页面,这都将起作用。

答案 1 :(得分:0)

如果您想在每次用户导航到graphpage时刷新图表;您应该在pagebeforeshow的{​​{1}}处理程序中绑定刷新逻辑。

请参阅JQM Events文档中的graphpage部分。

答案 2 :(得分:0)

使用它,每次在Jquery mobile

中加载#page时触发事件
$(document).on("pagebeforeshow","#dashboard",function(){

   alert("pagebeforeshow event fired - pagetwo is about to be shown");
});