通过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的回答所示。