【问题标题】:Firing native mouse events with Javascript?使用 Javascript 触发本机鼠标事件?
【发布时间】:2015-01-30 06:05:25
【问题描述】:

我有一种情况,我想在其等效的触摸事件上触发鼠标事件,以处理移动兼容性问题。

为此,我为触摸事件创建了事件侦听器,它(应该)在目标上触发等效的鼠标事件。不幸的是,我想不出一种在 dom 元素上触发事件的方法。

我希望是这样的:

document.body.addEventListener('touchstart', function(event) {
    event.target.mousedown()
}, false);

但是这样的功能似乎并不存在。有什么解决办法吗?

谢谢。

【问题讨论】:

标签: javascript events mobile touch addeventlistener


【解决方案1】:

要在 JavaScript 中手动调度事件,请使用 element.dispatchEvent(evt) 方法。您可以使用document.createEvent() 创建要调度的事件。

或者,如果您使用 jQuery,您可以通过简单地调用 $.mousedown()$.trigger("mousedown") 来更简单地执行此操作。

【讨论】:

  • 我尝试过让 dispatchEvent 触发自定义事件,但这些似乎与我试图触发的原生 dom 事件不对应。我需要这些触发事件来触发一系列监听本地触发器的 dom 事件。
  • @netboi 你有没有通过调用.init()正确初始化它?
  • 没有,之前没听说过在JS中使用这个方法。在这种情况下将如何使用? - 谢谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-04-30
  • 2011-10-07
  • 2013-12-15
  • 1970-01-01
  • 2021-11-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多