Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用jQuery创建/触发事件_Jquery_Events_Firefox Addon - Fatal编程技术网

使用jQuery创建/触发事件

使用jQuery创建/触发事件,jquery,events,firefox-addon,Jquery,Events,Firefox Addon,我目前使用以下代码从我的Firefox加载项触发事件 var hiddenArea = document.getElementById("section_help"); if (hiddenArea) { var evt = document.createEvent("MouseEvents"); evt.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0, false, false,

我目前使用以下代码从我的Firefox加载项触发事件

    var hiddenArea = document.getElementById("section_help");
    if (hiddenArea) {
        var evt = document.createEvent("MouseEvents");
        evt.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
        hiddenArea.dispatchEvent(evt);
    }
我尝试使用jQuery实现同样的功能

$("#section_help").trigger("click");
但它不起作用。 jQuery不会触发原始代码嵌入的事件

我的错在哪里?

提到了以下几点:

尽管.trigger()模拟了事件激活,但它以 合成的事件对象,它不能完全复制 自然发生的事件

现在还不清楚它们的意思,所以我不得不看一下源代码。显然,jQuery并没有真正创建本机事件对象。它只会触发自己的事件处理程序(通过jQuery添加的事件处理程序)以及它在
onfoo
properties中可以找到的任何事件处理程序。不会触发通过
addEventListener()
添加的事件处理程序。不会触发与事件关联的本机操作(不过jQuery似乎在处理一些特殊情况)

总而言之:最好还是坚持你的老方法来创造事件。它可能更冗长,但它做了你所期望的