(网站链接已被作者删除)
情况是页面上有两个 V 形锚 ( <a>
)。(它们是通过 javascript 添加到 DOM 中的)一个是“上一个”,另一个是“下一个”。通过点击“Next”锚点,该toNextSection()
功能将被触发,页面将滚动到下一部分,反之亦然。
这适用于所有桌面浏览器,但在 iPad 上很奇怪。
最初,这两个 V 形是与“点击”事件绑定的。然后我尝试将代码更改为以下以解决 iPad 问题,但问题仍然存在。所以我想问题不在于事件类型。
var clickEvent = navigator.platform.match(/iPad/i) ? 'touchstart' : 'click';
$('#sectionnav .prev a').on(clickEvent, function() { toPrevSection() });
$('#sectionnav .next a').on(clickEvent, function() { toNextSection() });
到目前为止,我收集了一些关于 iPad 问题的信息:
- 第一次点击“下一个”V 形,页面成功滚动到下一个部分。但在那之后,你不能再点击任何一个 V 形。第二次点击它们没有任何作用。
toPrevSection()
我曾尝试用一行替换函数的所有内容:alert('Test');
,然后点击“上一个”人字形总是可以成功显示警报框。但如前所述,在点击“下一个”字形将页面滚动到下一部分后,点击“上一个”字形将不再显示任何警告框。- 我试过
setInterval('toNextSection()', 10000);
orsetInterval(function() { $('#sectionnav .next a').trigger('touchstart') }, 10000);
,页面可以成功自动滚动到最后。 - 如果您在点击“下一个”V 形之前手动将页面向前滑动一点,那么点击“下一个”V 形将无法再滚动页面。
新的:
- 我还尝试将单击事件绑定到其他元素,例如页脚中的徽标或图像。问题是一样的。第一次敲击有效,第二次敲击无效。
- 在点击“下一步”V 形(或与单击事件绑定的任何内容)并且页面滚动到下一部分后,页面上的所有超链接和表单按钮都不再起作用(点击它们没有任何作用)。
- 当页面设置为自动滚动时(
setInterval
如上所述),在页面开始自动滚动之前点击“下一步”V 形仍然有效(自动滚动也有效)。但是在页面开始自动滚动后,页面上的所有超链接和表单按钮都不再起作用(点击它们没有任何作用)。
任何建议将不胜感激。谢谢!