使用时MrMaksimize 和 Alex Blacks 实施 https://github.com/alexblack/google-fastbutton of 谷歌快捷按钮 https://developers.google.com/mobile/articles/fast_buttons我在 iOS 中点击了两次。
试试这个小提琴:http://jsfiddle.net/Cotten/zQsVZ/ http://jsfiddle.net/Cotten/zQsVZ/
var a = new FastButton(document.getElementById('a'), function() {
alert('click');
});
<div id="a">First click me</div>
<div id="b">Then, click here and nothing should happen... but it does :(</div>
- 放大结果窗格
- 单击绿色按钮,显示警报
- 按确定,一切看起来都很好
- 然后单击没有 FastButton(..) 的红色或蓝色 div
- 它再次触发警报:(
我在装有 iOS 5.1 的 iPhone 4S iOS 6 和 iPad 3 上遇到此错误行为。
在安卓上它似乎可以工作。
我也有同样奇怪的行为jquery.tappable.js http://aanandprasad.com/articles/jquery-tappable/.
Thanks!
我有类似的问题here https://stackoverflow.com/questions/14657150/iphone-javascript-confirm-dialog-bug.
我能够通过使用来修复它this https://stackoverflow.com/a/10364437/1720446解决方案:
var clickObject = {
flag: false,
isAlreadyClicked: function () {
var wasClicked = clickObject.flag;
clickObject.flag = true;
setTimeout(function () { clickObject.flag = false; }, 100);
return wasClicked;
}
};
var a = new FastButton(document.getElementById('a'), function() {
if (!clickObject.isAlreadyClicked()) {
alert('click');
} else {
return;
}
});
我不确定它是否适用于您的快速按钮实现,但值得一试。我的实现看起来更像是这样的:
$('#container').on('click touchstart', 'a.element', function(event) {
if (!clickObject.isAlreadyClicked()) {
alert('click');
} else {
return;
}
});
祝你好运!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)