在iOS上遇到鼠标事件的一些问题。用户点击某个项目,然后可以点按以删除显示的下拉菜单。由于我的客户的网站需要表示大量的项目,所以我使用下拉列表至关重要。这是一个特定的请求,该网站也适用于iOS。问题是,当用户点击项目时它可以正常工作,但是当他们点击并尝试点击完全相同的下拉菜单时,它不起作用。它确实有效但是如果他们打开一个项目,然后再打开它,打开另一个项目,然后打开第一个项目。
正如您将从脚本中看到的那样,我试图解除所有事件的绑定,然后重新绑定它们,希望它会导致脚本重新开始工作。它也适用于桌面,虽然有一些bug。任何帮助这个在iOS上工作的帮助非常感谢,我已将其作为jsFiddle附加。 对我的代码的任何评论都表示赞赏 - 总是希望改进!
http://jsfiddle.net/andrewkhan1/pLp2X/54/
提前干杯
答案 0 :(得分:1)
您可以尝试执行以下操作:
1)请勿在iOS CSS中使用:hover
进行导航
2)使用CSS .hover
类
3)处理导航外的点击。像这样:
$(document).bind('touchstart', function(e) {
var target = (e.originalEvent.changedTouches ? e.originalEvent.changedTouches[0] : e).target;
if(!$(target).parents('#navigation').length) {
// hide dropdowns
$('#navigation').find('.hover').removeClass('hover');
}
});