Jquery Mobile 开发一点心得

因为Jquery Mobile的页面是一个大的div框,不同于普通的页面,所以处理起来就比较特殊。譡给每个page绑定pageinit事件时,有如下方法:

$('#aboutPage').live('pageinit', function (event) {alert("pageinit")});

$('#aboutPage').bind('pageinit', function (event) {alert("pageinit")});

$(document).bind('pageinit', function (event) {alert("pageinit")});

其中因为直接给document绑定事件,譡页面以ajax的方式载入时,document绑定的事件就会被执行,如给a页面绑定pageinit事件,以ajax方式载入b页面,b页面载入时就会执行给a页面绑定的pageinit事件。有时候还会出现死循环的问题。

#aboutPage给单独的一个page绑定一个pageinit事件,方式比较好。只是要给每个页面定义一个ID,建议使用。

如果非要给document绑定,后给某个按钮绑定click事件,可以使用以下方法:

$("#btnOk").unbind("click").bind("click", function () {alert("test");});给按钮绑定click事件,防止重复绑定。

$(document).unbind("pageinit").bind("pageinit", function (event, data) { alert("pageinit");});给document绑定pageinit事件前先清空之前的绑定,问题,譡下个页面不需要绑定pageinit事件时,就会执行上一个绑定事件,解决:规定为每个页面都绑定pageinit事件,不需要的就解除pageinit事件,需要的就先解除再绑定新的事件。

posted @ 2012-12-07 11:00  丿暖。风?  阅读(172)  评论(0)    收藏  举报