任何人都可以向我解释为什么它在浏览器中工作,但在苹果iPhone等移动设备上却没有。在iPhone上,我永远不会从警报中获得hello
。为什么呢?
<div class="close">
Click here
</div>
JS:
$(document).on('click', '.close', function() {
alert('hello');
});
答案 0 :(得分:33)
默认情况下,div不是&#34;可点击的&#34;元素。但添加cursor: pointer;
会使iOS将其视为可点击。
所以你需要做的就是添加
.close {
cursor: pointer;
}
到你的CSS,然后就可以了。
此处的证明:https://jsfiddle.net/27ezjrqr/6/
$(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;
答案 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}
。