如何禁用点击输入?

时间:2016-11-14 18:29:43

标签: javascript ios dom-events

我正在为iPad开发一款应用。 (它是一个内部应用程序,所以它实际上只适用于iPad而没有其他设备。)

在应用程序的第1页,我有第2页的链接。但是,由于我需要保持独立模式,因此我阻止了链接上的默认点击行为,而是更改了location宾语。第2页恰好在与我刚刚点击的链接完全相同的坐标处输入文本。即使我已禁用链接上的点击行为,现在也会在链接所在的输入上触发点击事件。 (这是因为touchend的射击与click的射击之间的滞后。)

我在点击输入时尝试了event.preventDefault()event.stopPropagation(),但点击事件仍在触发并打开iPad的键盘。

任何想法如何制止这个?感谢。

修改:将输入设置为readonlydisabled不是一个选项,因为输入需要在用户有意识地提供焦点时才能工作(我将使用一个touchend事件来实现这一目标。)

问题是,在第一页上,用户触摸了一个链接,触发了touchendclick个事件。加载第二页后,touchend更改location.pathnameclick事件将触发。由于第二页在触发click事件的同一坐标处有一个文本字段,因此event.target成为input,并且所有尝试禁用此事件的尝试都已失败。

2 个答案:

答案 0 :(得分:0)

当您从第1页转换到第2页时,使用微调器覆盖窗口。延迟250-300ms应该足以让用户将其爪子从屏幕上移开。

答案 1 :(得分:-1)

您是否尝试将输入设置为只读?