gpt4 book ai didi

javascript - iOS mouseenter 绑定(bind)只能工作一次

转载 作者:行者123 更新时间:2023-11-29 15:45:22 25 4
gpt4 key购买 nike

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

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

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

提前干杯

最佳答案

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

1) 不要在 iOS CSS 中使用 :hover 进行导航

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

关于javascript - iOS mouseenter 绑定(bind)只能工作一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12354055/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com