【问题标题】:How to override mouse event with touch event using javascript?如何使用javascript用触摸事件覆盖鼠标事件?
【发布时间】:2021-11-25 06:42:45
【问题描述】:

我正在尝试在 react.js 应用程序中模拟触摸事件。目标是触发触摸事件而不是鼠标事件(即mouseDown 应该触发touchStart 等)。

我试图复制的行为与您在移动视图上使用 Chrome 开发工具控制台时的行为相同。

【问题讨论】:

    标签: javascript reactjs events mouseevent touch-event


    【解决方案1】:

    您可以使用 Event 类创建事件。然后您可以在 dom 元素或窗口上调度事件

    const clickEvent = new Event('touchStart', {"bubbles":true})
    window.dispatchEvent(clickEvent);
    

    这是一篇涵盖这两行代码的长文:https://medium.com/@gianfranconuschese/simulating-events-with-javascript-c62da15422b2

    所以基本上你可以使用window.addEventListener('mouseDown', eventHandler),其中 eventHandler 将是一个调用我之前分享的两行代码的函数

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-10
      • 2018-07-31
      相关资源
      最近更新 更多