使用jQuery Mobile(jquery.mobile-1.0b3.min.js)。如果我将单击事件应用于表单,则后退按钮似乎也会获得单击事件绑定。无论选择器如何专门针对元素,它都会这样做。例如:
使用它来设置后退按钮: 复制代码
<div id="pagename-page" data-role="page" data-add-back-btn="true" data-back-btn-theme="b">
这在脚本文件中: 复制代码
$('#awards-details-page').live('pagecreate', function(event){
$('#awards-details-page input[name=submit]').bind('vclick', function() {
console.log('I'm going to be hijacked by the back button.');
});
});
在浏览器中测试时,单击后退按钮将在控制台中生成消息。
每次使用脚本访问页面时,都会添加另一个重复绑定。尝试取消绑定pagehide事件上的click事件与目标元素一起使用,但后退按钮的绑定仍然存在。
任何人都可以对此有所了解吗?
提前谢谢。
答案 0 :(得分:0)
不要使用vclick你会ge ghost,他们改进了CLICK所以只是使用它 live也不绑定... bind是一个存在的元素,live是所有拥有该共享属性的元素,在after和during之前。您过去的页面存在,所以您现在有一组绑定的项目,而不仅仅是您所在页面的一个。我会废弃整个后退按钮元素并拥有你自己的可点击项,为此你可以自己做回代码并添加data-backto =“#page1”等属性,然后你可以更好地控制点击后退按钮时会发生什么,尤其是Android手机也有自己的后退按钮。