iOS鼠标中心绑定只工作一次

iOS mouseenter bind only works once

本文关键字:一次 工作 鼠标 绑定 iOS      更新时间:2023-09-26

在iOS上遇到一些鼠标事件问题。用户点击一个项目,然后可以点击删除出现的下拉列表。由于我的客户的网站需要代表大量的项目,所以我使用下拉列表是至关重要的。这是一个特定的要求,该网站也能在iOS上运行良好。问题是,当用户点击项目时,它可以正常工作,但当他们点击并试图进入完全相同的下拉列表时,它不起作用。但是,如果他们打开一个项目,然后不是再次打开,而是打开另一个,然后打开第一个项目,这确实有效。

正如你从脚本中看到的那样,我试图解除所有事件的绑定,然后重新绑定它们,希望这能使脚本重新开始工作。它在桌面上也能很好地工作,尽管有一些错误。如果能在iOS上使用它,我们将不胜感激,我将其作为jsFiddle附件此外,如果对我的代码有任何评论,我们将不胜感激-我们一直在寻求改进

http://jsfiddle.net/andrewkhan1/pLp2X/54/

提前欢呼

您可以尝试执行以下操作:

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');
    }
});