jquery.click()不适用于iOS

HTML:

<div id="footer"> <a class="button1 selected" id="button1" href="#"><div class="icon"></div><div class="text">Option 1</div></a> <a class="button2" id="button2" href="#"><div class="icon"></div><div class="text">Option 2</div></a> <a class="button3" id="button3" href="#"><div class="icon"></div><div class="text">Option 3</div></a> <a class="button4" id="button4" href="#"><div class="icon"></div><div class="text">Option 4</div></a> </div> 

JS:

 $('#button1').click(function() { alert('button1'); }); $('#button2').click(function() { alert('button2'); }); 

现在,这个脚本在我的PC浏览器上完美的工作,但它不适用于iOS。 我也试过这个解决scheme: $(document).click()在iPhone上无法正常工作。 jQuery的,但它没有工作。

我正在使用jQuery 1.8.3,没有jQuery Mobile(我不喜欢)。

有人可以帮助我呢?

尝试将一个指针光标添加到button并使用.on来绑定单击事件

 $('#button1').css('cursor','pointer'); $(document).on('click', '#button1', function(event) { event.preventDefault() alert('button1'); }); 

我碰到这个: http : //www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html

总之,iOS浏览器需要满足这些条件之一才能生成触摸事件的点击事件:

  1. 事件的目标元素是链接或表单字段。
  2. 目标元素或其任何直到但不包括<body>祖先都具有为任何鼠标事件设置的显式事件处理程序。 这个事件处理程序可能是一个空的函数。
  3. 目标元素或其任何直到并包括文档的祖先都有一个游标:指针CSS声明。