当JQM后退按钮未定位时,它会自动绑定到每个点击事件

时间:2011-09-28 21:27:07

标签: jquery-mobile

使用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事件与目标元素一起使用,但后退按钮的绑定仍然存在。

任何人都可以对此有所了解吗?

提前谢谢。

1 个答案:

答案 0 :(得分:0)

不要使用vclick你会ge ghost,他们改进了CLICK所以只是使用它 live也不绑定... bind是一个存在的元素,live是所有拥有该共享属性的元素,在after和during之前。您过去的页面存在,所以您现在有一组绑定的项目,而不仅仅是您所在页面的一个。我会废弃整个后退按钮元素并拥有你自己的可点击项,为此你可以自己做回代码并添加data-backto =“#page1”等属性,然后你可以更好地控制点击后退按钮时会发生什么,尤其是Android手机也有自己的后退按钮。