第二次更新: 看起来我的一个函数(resetFigures)阻止了事件处理程序,将其移到bind函数的末尾解决了问题。
更新: 经过一些基本测试后,我意识到点击事件正在注册,只是当点击时方块未能翻转。
我在Chrome和Firefox中使我的网站的基本美学功能工作正常,但它在iOS(使用iOS 6.1的iPhone 4和iOS 4.3.5的iPad上)上无法正常运行。
您可以在此处查看网站和脚本(main.js):http://bos.rggwebdesigns.com/
我读到iOS实际上无法正确处理jQuery点击事件,但我很难找到修复方法。 Stack Overflow上的一些线程提到了live()方法,但像下面这样实现它(以及将onclick=""
添加到可点击元素)似乎没有起作用:
$('.card').live('click touchstart', function() {
var figure = $(this).children('.back');
var button = figure.find('.button');
var column = $(this).parents().eq(1);
$('.column').removeAttr('style');
column.css('z-index', 2000);
resetFigures();
if(flipCard(this)){
swoosh.pause();
swoosh.currentTime = 0;
swoosh.play();
}
});
我还发现了这个有趣的解决方案项目:http://aanandprasad.com/articles/jquery-tappable/。然而,我也没有成功:
$('.card').tappable(function() {
var figure = $(this).children('.back');
var button = figure.find('.button');
var column = $(this).parents().eq(1);
$('.column').removeAttr('style');
column.css('z-index', 2000);
resetFigures();
if(flipCard(this)){
swoosh.pause();
swoosh.currentTime = 0;
swoosh.play();
}
});
如果我被误导了,请纠正我,但根据这个网站的说法,使用适当的前缀在iOS上支持3D变换:http://caniuse.com/transforms3d