【发布时间】:2013-01-25 14:22:02
【问题描述】:
第二次更新:看起来我的一个函数 (resetFigures) 阻止了事件处理程序,因此将其移至绑定函数的末尾进行了整理。
更新:经过一些基本测试后,我意识到点击事件正在注册,只是点击时框无法翻转。
我的网站具有在 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
【问题讨论】:
-
您遇到了什么问题?
-
1) live 替换为 on。 2) on 也有问题,我不久前发现:stackoverflow.com/questions/9698003/on-preventdefault
-
@Alexander 在 iOS 上点击这些框除了悬停状态外没有任何效果。
-
这里是 MDN 上关于这个问题的一个很好的总结:developer.mozilla.org/en/docs/Web/Events/click#Safari_Mobile
标签: jquery ios css click transform