Javascript 需要通过chrome扩展调用匿名函数/插件的帮助吗

Javascript 需要通过chrome扩展调用匿名函数/插件的帮助吗,javascript,jquery,google-chrome-extension,anonymous-function,Javascript,Jquery,Google Chrome Extension,Anonymous Function,我正在开发一个chrome扩展来自动化网站的各个部分。我需要触发链接的点击事件。它有一个通过如下匿名函数的事件处理程序 函数$,对话框{ 函数切换事件{ } 函数addEventListeners{ 窗体。在“单击”、“切换”和“切换”上; } 函数初始化{ } $init; }jQuery,window.silk.classes.dialog 如果不显式调用functionName,javascript中封装在functionName{}块中的任何内容都不会被调用 通常,对于annon in

我正在开发一个chrome扩展来自动化网站的各个部分。我需要触发链接的点击事件。它有一个通过如下匿名函数的事件处理程序

函数$,对话框{ 函数切换事件{ } 函数addEventListeners{ 窗体。在“单击”、“切换”和“切换”上; } 函数初始化{ } $init; }jQuery,window.silk.classes.dialog 如果不显式调用functionName,javascript中封装在functionName{}块中的任何内容都不会被调用

通常,对于annon init函数,我会执行以下操作:

(function(params){
     toggle();
     addEventListeners(); //should change this it's bad to name functions after language defined ones.
     init();
})();

function toggle(params){

}
function addEventListeners(){

}
function init(){

}
按照您目前在上面示例中编写代码的方式,addEventListener中的代码永远不会运行,因为从您发布的内容来看,它从未被调用过

如果希望保持现有的方式,还必须从annon函数内部调用函数,因为作用域:

(function($, dialog) {
    function toggle(event) {
    }

    function addEventListeners() {
        form.on('click', '.toggle', toggle);
    }

    function init() {
    }

     toggle();
     addEventListeners(); 
     init();
}(jQuery, window.silk.classes.dialog));
//your functions are now out of scope here, however any eventListeners you attach to the dom will stay defined until that dom element is destroyed.

我设法弄明白了。最后,我试图在匿名函数中触发一个处理程序。下面几行代码就是为了达到这个目的

        var btn = document.getElementById('toggle');
        btn.addEventListener('click', function() {
            this.removeEventListener('click', arguments.callee, false);
            }, false);

        var event = document.createEvent('Event');
        event.initEvent('click', true, true);
        btn.dispatchEvent(event);

如果我对您的理解是正确的,您试图从控制台触发此事件以进行测试,那么只有一种可能的方法。为了让控制台了解程序中函数的上下文,必须在断点处停止程序。否则控制台对页面上的javascript一无所知。我不一定需要从控制台调用它。我只需要找到一种通过chrome扩展调用链接的click事件处理程序的方法。如前所述,由于它位于匿名函数中,传统方法不起作用。也许,我没有正确触发点击事件。我只是发布了原始代码的框架。上面的javascript不是我写的,而是在一个我正在开发chrome扩展的网站上。在原始版本中,init确实调用addEventListeners。我只需要弄清楚如何通过内容脚本或注入的JS脚本触发click事件处理程序