在此页面上: http://www.jwallacellc.com/fabric.htm
如果单击计算机上的任何编号块,则会出现一个弹出窗口。
如果在iPad上单击它们,则会出现悬停状态,然后再次单击会弹出窗口。
我希望弹出窗口出现在iPad上的第一次点击。
奇怪的是,几乎完全相同的事情发生在这个网站的主页上,但在这种情况下,第一次点击打开弹出窗口没有问题: http://www.jwallacellc.com
我不明白为什么他们的反应不同。在这两种情况下,悬停状态由CSS处理:
ul#home li:hover h2{height:160px;}
ul.interior li:hover h2{display:block;}
点击由jQuery / Javascript处理:
$('#home li').click(function(){…});
$('ul.interior li').click(function(){…});
我的选择器中是否存在一些差异导致iPad在我的内部页面上第一次没有捕获点击事件,而不是主页? iPad是否认为因为有悬停状态,它应该第一次出现?但是为什么Javascript会在这种情况下忽略click事件?无论如何,由于某种原因,我的两页功能不同。
非常感谢任何建议。谢谢!
答案 0 :(得分:0)
iOS要求链接上的href="#"
参数
答案 1 :(得分:0)
根据我的经验,这只是桌面和iPad网站开发之间的差异之一。 iPad正在侦听触摸事件,但仍可以处理点击事件(有些)。当您正在收听点击时,第一次触摸始终是悬停,第二次触摸是一次点击。
你可以通过使用Zepto.js而不是jQuery或触摸事件的jQuery插件来监听触摸事件来解决这个问题,而不是听点击事件。
或者如果您愿意,可以使用a tutorial like this.
手动设置触摸事件我不确定为什么其中一个页面在第一次触摸时实际工作,我从来没有能够通过点击处理程序实现这一点。