jQuery单击事件在iOS中不起作用
第二次更新:看起来我的一个函数(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
FFIVE