This question already has an answer here:
- How do I use jQuery for click event in iPhone web application 8 answers
Second update: Looks like one of my functions (resetFigures) was preventing the event handler, so moving that to the end of the bind function sorted it out.
Update: I realized after some basic testing that the click events were registering, it\'s just that the box fails to flip when tapped.
I have the basic aesthetic functionality of my site working in Chrome and Firefox, but it refuses to behave properly on iOS (test on iPhone 4 with iOS 6.1 and iPad with iOS 4.3.5).
You can view the site and of course the scripts (main.js) here: http://bos.rggwebdesigns.com/
I\'ve read that iOS doesn\'t really handle jQuery click events properly, but I\'m struggling to figure out a fix. A couple threads here on Stack Overflow mentioned the live() method, but implementing it like follows (as well as adding onclick=\"\"
to the clickable elements) didn\'t seem to work:
$(\'.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();
}
});
I also came across this interesting workaround project: http://aanandprasad.com/articles/jquery-tappable/. However, I had no luck with that either:
$(\'.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();
}
});
Also, please correct me if I\'ve been mislead, but according to this site, 3D transforms are supported in iOS with the appropriate prefixes: http://caniuse.com/transforms3d