我正在测试我在此处创建的时间轴上的跨浏览器兼容性:http://bmcmahen.com/timeline/timeline.html
我正在尝试使用highslide,这样当我点击时间轴中的条目时,它会打开一个包含更多信息的新窗口。这适用于除Safari Mobile之外的所有浏览器。使用Safari移动甚至常规链接甚至无法在div中单击。这告诉我,它(a)不是javascript错误(由safari移动调试器强化,它不会报告任何错误),以及(b)它与css或其中的方式有关safari(仅限移动设备)处理触摸事件。
显示的代码:
<div style="position: absolute; top: 350px; left: 92.48811740233592px; " class="timeline-event timeline-event-box">
<div class="timeline-event-content">
<div style="">
<a href="fallback.html" title="Testing a link in mobile Safari." onclick="return hs.htmlExpand(this)">
<p class="name">I should open a highslide window</p>
</a>
<p class="date"><a href="http://www.google.com">Regular Link</a></p>
<div class="highslide-maincontent">
This is the main content.
</div>
</div>
</div>
您可以在1860年左右的左侧看到此示例节点。可以通过Web检查器或firebug获取CSS。
更新:作为CSS的问题我可能错了。我禁用了timeline.js api附带的触摸事件处理程序,虽然捏合和滚动不再适用于滑动,但链接现在可以正常工作。