jQuery点击不能在iPhone上工作(触摸设备)

时间:2016-03-11 17:05:39

标签: javascript jquery ios iphone

任何人都可以向我解释为什么它在浏览器中工作,但在苹果iPhone等移动设备上却没有。在iPhone上,我永远不会从警报中获得hello。为什么呢?

<div class="close">
  Click here
</div>

JS:

$(document).on('click', '.close', function() {
  alert('hello');
});

此处示例:https://jsfiddle.net/27ezjrqr/5/

4 个答案:

答案 0 :(得分:33)

默认情况下,div不是&#34;可点击的&#34;元素。但添加cursor: pointer;会使iOS将其视为可点击。

所以你需要做的就是添加

.close {
    cursor: pointer;
}

到你的CSS,然后就可以了。

此处的证明:https://jsfiddle.net/27ezjrqr/6/

&#13;
&#13;
$(document).on('click', '.close', function() {
  alert('hello');
});
&#13;
.close {
  cursor: pointer;
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="close">
  Click here
</div>
&#13;
&#13;
&#13;

答案 1 :(得分:1)

我在点击时使用了touchstart事件,它为我做了工作

 $(document).on("click touchstart tap", "#button_X", function (){
//your code here      
 });

答案 2 :(得分:0)

从iOS 7.0.3开始修复了Javascript alert()和更多错误。

答案 3 :(得分:0)

点击事件在iOS上无法正常运行。您可以使用touchstart之类的东西,或使用奇怪的iOS怪癖:在CSS中设置.close{cursor:pointer}