Javascript 使用jquery捕获<;上的单击事件;李>;元素在iPad上不起作用
在本页上: 如果单击计算机上的任何编号块,将出现一个弹出窗口 如果您在iPad上单击它们,将显示悬停状态,然后再次单击将显示弹出窗口 我希望在第一次点击iPad时弹出窗口 奇怪的是,几乎完全相同的事情发生在这个网站的主页上,但在这种情况下,第一次点击打开弹出窗口没有问题: 我不明白他们为什么反应不同。在这两种情况下,悬停状态都由CSS处理:Javascript 使用jquery捕获<;上的单击事件;李>;元素在iPad上不起作用,javascript,jquery,css,Javascript,Jquery,Css,在本页上: 如果单击计算机上的任何编号块,将出现一个弹出窗口 如果您在iPad上单击它们,将显示悬停状态,然后再次单击将显示弹出窗口 我希望在第一次点击iPad时弹出窗口 奇怪的是,几乎完全相同的事情发生在这个网站的主页上,但在这种情况下,第一次点击打开弹出窗口没有问题: 我不明白他们为什么反应不同。在这两种情况下,悬停状态都由CSS处理: ul#home li:hover h2{height:160px;} ul.interior li:hover h2{display:block;}
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事件呢?无论如何,由于某种原因,我的两个页面的功能不同
如有任何建议,我将不胜感激。谢谢大家! iOS需要链接上的
href=“#”
参数根据我的经验,这只是桌面和iPad web开发之间的区别之一。iPad正在监听触摸事件,但仍然可以处理点击事件(有些)。第一次触摸总是悬停,第二次是点击,当你在听点击的时候
您可以通过使用诸如代替jQuery或用于触摸事件的jQuery插件来监听触摸事件,而不是监听单击事件,从而绕过此问题
或者,如果愿意,可以使用手动设置触摸事件
我不知道为什么其中一个页面在第一次触摸时就可以工作,我从来没有用点击处理程序来完成这一点。这是有道理的。我在脚本中添加了一个“touchend”事件,现在当您触摸元素时,两个屏幕都会显示出来。我仍然不明白为什么主页不需要这个,因为它们几乎是一样的。此外,如果我用手指触摸iPad在其中一个元素上拖动/滚动屏幕,则会触发“touchend”事件,无意中打开弹出窗口。