日期:2014-05-16  浏览次数:20365 次

JqueryMobile页面事件重复绑定的问题
     阿弥陀佛,请教各位师兄一个关于JqueryMobile的事件重复绑定的问题,详细情况如下:
有 A.html和B.html两个页面,A页面有个<a>链接向B.html。
B页面的pageinit事件里弹出一个提示,代码如下:
$(document).on("pageinit", "#page2", function (event) {
     alert("page2 init");
});

同时B页面的头部有添加返回按钮,代码如下:
<div data-theme="a" data-role="header">
     <a id="btnBack" data-role="button" data-inline="true" data-rel="back"
         data-icon="back" data-iconpos="left" class="ui-btn-left">返回
     </a>
     <h3>测试页面B</h3>
</div>


     遇到的问题是,从A页面点<a>标签链接到B页面后,会弹出预期的“page2 init”,点返回(或者浏览器的后退)返回到A页面,再点<a>标签,就会弹出两次“page2 init”,等于是B页面的pageinit被执行了2次。每次点击返回后再点链接转到B页面,pageinit事件就都会被累加执行一次。
     尝试过不管把B页面的pageinit写在一个单独的文件里然后引用,还是直接写在B页面的div page里,绑定页面的各种事件都会被累加。
     请教师兄这问题怎么解决?感谢诸位师兄。
JqueryMobile JavaScript

------解决方案--------------------
懒得细看了
看看有木有解绑事件

$("xx").unbind("on").on(function(){}); // 之类的