2011-08-17 22 views
0

我刚刚升级jQuery的移动测试版2(从测试版1),我现在收到多个点击事件,如果我回到一个页面后按下,每次我去回到它添加另一个点击,所以警报触发,但很多次,你进入页面jquery移动多个点击事件时,回到页

我也注意到,点击/水龙头似乎通过当前页面,并点击页面隐藏的视图 - 看起来真的很奇怪但我认为他们可能有联系。

就好像它正在创建同一页面的多个版本,并且当你回到它时加载一个新的导致出现两个点击事件。

下面是代码的片段,其被解雇

$('#click_me').live('vclick', function() { 
    alert('clicked'); 
}); 

希望这是有道理的,任何人都可以摆脱对什么可能会在任何光线?

回答

0

更新:

我想原因是你绑在现场活动的点击事件,所以evrytime您浏览该网页时,会触发点击事件。尝试是这样的:

$('div').live('pageshow',function(event, ui){ 
    $('#click_me').click(function() { 
     alert('clicked'); 
    }); 
}); 

或只使用click事件

$('#click_me').click(function() { 
    alert('clicked'); 
}); 

当Beta 2的发布,他们废除了V单击

回溯:我们已经退出V单击单击的链接

在Beta 1中,我们决定使用我们的自定义V单击事件处理阿贾克斯 链接来提高响应能力和隐藏网址栏上的iPhone 和Android手机。尽管我们做了相当多的测试 登陆此为Beta 1版本之前,我们开始听到的反馈,这一变化 是造成一些显著的问题出在野外,包括:使导航

  • 多个点击事件和表单元素问题 - 在某些情况下,点击某个元素时,点击/点击事件看起来像是 在链接上触发两次,并且是由于触摸事件和鼠标事件的目标不匹配导致的边缘情况浏览器 计算这些事件的公差。这在Android 2.1的 上最为明显,但是当轻敲事件发生在元素的边缘附近时,会影响大多数基于WebKit的浏览器,以改变 度。

  • 在自定义脚本单击处理程序没有“工作”了 - 如果 脚本只势必点击文档事件,全球V单击 功能可能干扰,因为触摸事件凌驾点击 事件,所以事件似乎不会触发。

+0

谢谢,但我确实尝试点击,它似乎没有任何区别:( – Rich 2011-08-17 14:08:55

1

你可能已经解决了这个现在,但你需要使用pagecreate事件。 @的菲尔的建议:

$('div').live('pageshow',function(event, ui){ 
    $('#click_me').click(function() { 
     alert('clicked'); 
    }); 
}); 

不幸的是没有帮助的,但你可以解决的问题,如果你。如果你不使用AJAX来加载页面更改pageshowpagecreate

$('div').live('pagecreate',function(){ 
    $('#click_me').click(function() { 
     alert('clicked'); 
    }); 
}); 

,请务必将live更改为bind

我自己也有同样的问题,这已经完全解决了我的问题。