- 我有一个一页应用程序。
- 它使用backbone.js。
- 通过鼠标触发一次单击事件。
- 通过触摸设备触发点击事件两次。
- 取消绑定一键事件会在触摸设备上停止。
我不知道从哪里开始寻找。
这是JS:
$('.classy').on('click', 'button', function(){
console.log('clicked');
})
我需要一些帮助来解决这个问题。我知道我没有提供足够的信息来获得真正的答案。让我感到困惑的是,这只发生在触摸设备上。如果我不小心绑定了两个事件或创建了同一视图的两个实例,那么鼠标单击是否也会发生这种情况?
谢谢。
编辑:我尝试通过 jQuery Mobile 使用点击事件。这引起了奇怪的反应。它会触发该事件一次,看起来好像已经完成,但下次您触摸屏幕上的任何位置时,它会再次触发该事件。 ...奇怪,有什么想法吗?
我终于找到了问题所在。它来自分层的 iScrolls。此时我必须破解该库,这可能是解决此问题的更好方法,但说明了这一点。
if (target.tagName != 'SELECT' && target.tagName != 'INPUT' && target.tagName != 'TEXTAREA' && window.iScrollClickFIX != true) {
window.iScrollClickFIX = true;
setTimeout(function(){
window.iScrollClickFIX = false;
}, 1)
感谢大家的帮助。
这可能不是实际的解决方案......只是想一想
$('.classy').die('click').on('click', 'button', function(){
console.log('clicked');
})
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)