javascript - 使用 Javascript 在......上生成点击事件

标签 javascript events

我有一个代表 map 的 div 网格。当我用鼠标单击时,我希望能够在任何 div 上生成单击事件。我使用了以下代码片段但没有成功 我得到一个真正的返回值:

var fireOnThis = document.getElementById('someID');
var evObj = document.createEvent('MouseEvents');
evObj.initEvent( 'click', true, true );
fireOnThis.dispatchEvent(evObj);

我知道没有生成点击,因为当我用实际鼠标点击时,div 会突出显示。

只是一个附带问题:是否可以区分实际鼠标生成的点击和通过 javascript 本身生成的点击并阻止后面的点击?(我知道这听起来在逻辑上是错误的,但我不太了解 JS,所以也许...... .)

一些背景:我正在为一个在线游戏网站做这件事,我想通过为 chrome 编写一个扩展来自动化日常任务......这部分是内容脚本。

编辑: 也许我看问题的方式不对......也许实际上 div 没有监听点击事件,div 实际上没有被选中的原因即使事件被触发......
新问题: 给定事件(即点击特定的 div),我可以知道哪个监听器/元素接收到该事件吗?

最佳答案

我对 this SO question 的回答介绍了这个功能,可能会有用:

function eventFire(el, etype){
    if (el.fireEvent) {
      el.fireEvent('on' + etype);
    } else {
      var evObj = document.createEvent('Events');
      evObj.initEvent(etype, true, false);
      el.dispatchEvent(evObj);
    }
}

Here's another SO question关于这个问题

关于javascript - 使用 Javascript 在......上生成点击事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5440832/

相关文章:

javascript - 为什么我得到 undefined variable ?

javascript - jquery 在满足两个条件时执行函数

javascript - Firebase 深度查询

events - 主干控制台日志事件触发

c# - 订阅另一事件的一次性事件触发

c# - SQL依赖线程

javascript - 是否有关于将自定义操作绑定(bind)到什么的最佳实践?

c# - 控制台的调整大小事件

c++ - 文本字段如何响应 <Enter>

javascript - AngularJS 转义引号