【问题标题】:How to prevent focus change on long press in Chrome on Android?如何防止在 Android 上的 Chrome 中长按时焦点发生变化?
【发布时间】:2020-01-17 16:26:51
【问题描述】:

我希望焦点停留在当前聚焦的 DOM 元素上。我正在使用通常的方法来防止点击另一个元素时焦点发生变化:

button.addEventListener("mousedown", (evt)=>{evt.preventDefault();});

这适用于正常点击,但不适用于长按。

我希望它也可以在长按上工作。任何人都知道这种行为是否是错误?

有什么办法可以防止长按时焦点改变?

【问题讨论】:

  • 考虑调查CSS pointer events。这可能有帮助吗?
  • @evolutionxbox 谢谢,但我认为这不适用于我的情况。单击/触摸的元素是带有操作的按钮。我是不是误会了什么?

标签: javascript google-chrome events focus touch


【解决方案1】:

收听touchstart event:

element.addEventListener("touchstart", (evt)=>{evt.preventDefault();});

请注意,对于非触摸设备,您仍然需要 mousedown 事件侦听器。

【讨论】:

  • 对不起,我应该提到我已经尝试过吗?它对我不起作用。也许你有一个工作的例子?
  • 呃,对不起,我的错。它确实有效,但不会触发按钮单击事件。所以我不能使用它。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-03-06
相关资源
最近更新 更多