3

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

正如您从脚本中看到的那样,我试图解除所有事件的绑定,然后重新绑定它们,希望它会导致脚本再次开始工作。它在桌面上也可以正常工作,尽管有一些错误。非常感谢任何帮助使其在 iOS 上运行,我已将其附加为 jsFiddle。也感谢对​​我的代码的任何评论 - 一直在寻求改进!

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

提前喝彩

4

1 回答 1

1

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

1) 不要:hover在你的 iOS CSS 中使用导航

2) 使用 CSS.hover类使下拉切换 onclick

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');
    }
});
于 2012-10-07T10:23:53.610 回答