【发布时间】:2013-08-13 05:34:37
【问题描述】:
目标
单击时关闭锚标记的父 div。在下面的代码中,我想在用户点击锚标记 close_performance_tt 时隐藏 div performance_tt。
问题
花了几个小时后无法让它在 iOS 设备上运行。适用于其他所有设备,甚至是 BlackBerry 10 设备。
<div id="performance_tt" style="display: none;width: 300px;height: 200;overflow: auto;padding: 5px;background-color: yellow;">
<div>Website performance has become an important consideration for most sites.
The speed of a website affects usage and user satisfaction, as well as search engine rankings, a factor that directly correlates to revenue and retention.
As a result, creating a system that is optimized for fast responses and low latency is key.</div>
<a id="close_performance_tt" href="#">Close</a>
<script>
var userAgent = navigator.userAgent.toLowerCase();
var isiOS = (navigator.userAgent.match(/(iPad|iPhone|iPod)/g) ? true : false);
if (isiOS) {
$("#close_performance_tt").bind('touchstart', function() {
alert('Touch-start event triggered');
});
} else {
$("#close_performance_tt").bind('click', function() {
alert('Click event triggered');
});
}
</script>
</div>
【问题讨论】:
-
为什么不用
$("#close_performance_tt").bind('click touchstart', ..)而不是if..else -
但这不是问题的原因,对吧?
-
您必须确保标志
isiOS具有正确的值
标签: jquery ipad click touchstart