我正在为iPad开发一款应用。 (它是一个内部应用程序,所以它实际上只适用于iPad而没有其他设备。)
在应用程序的第1页,我有第2页的链接。但是,由于我需要保持独立模式,因此我阻止了链接上的默认点击行为,而是更改了location
宾语。第2页恰好在与我刚刚点击的链接完全相同的坐标处输入文本。即使我已禁用链接上的点击行为,现在也会在链接所在的输入上触发点击事件。 (这是因为touchend
的射击与click
的射击之间的滞后。)
我在点击输入时尝试了event.preventDefault()
和event.stopPropagation()
,但点击事件仍在触发并打开iPad的键盘。
任何想法如何制止这个?感谢。
修改:将输入设置为readonly
或disabled
不是一个选项,因为输入需要在用户有意识地提供焦点时才能工作(我将使用一个touchend
事件来实现这一目标。)
问题是,在第一页上,用户触摸了一个链接,触发了touchend
和click
个事件。加载第二页后,touchend
更改location.pathname
和click
事件将触发。由于第二页在触发click
事件的同一坐标处有一个文本字段,因此event.target
成为input
,并且所有尝试禁用此事件的尝试都已失败。
答案 0 :(得分:0)
当您从第1页转换到第2页时,使用微调器覆盖窗口。延迟250-300ms应该足以让用户将其爪子从屏幕上移开。
答案 1 :(得分:-1)
您是否尝试将输入设置为只读?