Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/392.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.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
通过chrome/javascript控制台触发匿名事件?_Javascript_Jquery - Fatal编程技术网

通过chrome/javascript控制台触发匿名事件?

通过chrome/javascript控制台触发匿名事件?,javascript,jquery,Javascript,Jquery,基于,我创建了一个自定义匿名事件侦听器,如下所示: function init() { console.log("Initiating widgets"); } window.addEventListener("widgetInit", init()); 我可以使用$(window.trigger('widgetInit')调用它来自代码,但是如果我将其粘贴到控制台中,它只返回窗口对象 有没有一种方法可以在不修改代码的情况下通过控制台模拟事件?看起来jQuery是用于CustomEv

基于,我创建了一个自定义匿名事件侦听器,如下所示:

function init() {
    console.log("Initiating widgets");
}

window.addEventListener("widgetInit", init());
我可以使用
$(window.trigger('widgetInit')调用它来自代码,但是如果我将其粘贴到控制台中,它只返回窗口对象


有没有一种方法可以在不修改代码的情况下通过控制台模拟事件?

看起来jQuery是用于CustomEvent的自己的事件系统。 如果您使用jQuery来侦听事件,它将正常工作


否则,它们是(不太受支持的)创建CustomEvent的方法:

也许您可以尝试使用本机DOM方法:

window.dispatchEvent(new Event('widgetInit'));

我认为,你的听众应该是:

window.addEventListener("widgetInit", init);
所以不带括号的
init

当您直接在控制台中键入jQuery元素作为目标时,这个元素总是返回的。
所以扳机起作用了。。。但是我认为你的监听器没有工作…

你想使用
window.addEventListener(“widgetInit”,init)。或者使用jQuery:
$(window).on(“widgetInit”,init)使其实际工作。即使去掉括号,我也必须将触发器更改为dispatchEvent,如@Michael Horn的回答所示工作即使删除了括号(谢谢),我也不得不将触发器更改为
dispatchEvent
,如@Michael Horn的回答所示。