正在访问窗口.Javascript 中的应用程序函数

Accessing window.App functions in Javascript

本文关键字:应用程序 函数 Javascript 访问 窗口      更新时间:2023-09-26

问题

我有一个预制的js文件(我不完全理解)正在导入到我的html页面。 这个js文件定义了一个函数,我希望能够通过html页面本身中的脚本块调用该函数。

我想调用的函数是 app.openNav 。 我尝试过使用各种不同的方法来调用这个函数(window.App.app.openNavApp.app.openNavApp.openNavapp.openNav,甚至window.openNav)都无济于事。

我未能通过这些方法调用函数,这让我觉得也许我需要在顶级函数之外定义它(让它全局? 我试图通过说app.openNav = {};来做到这一点,但这也没有用。

这是在导航.js

(function(window, document, undefined)
{
    window.App = (function()
    {    
        var app = { };
        app.init = function()
        {
            app.openNav = function()
            {
                //open navigation
            };
            // open nav with button
            document.getElementById('foo').addEventListener('click',app.openNav,false);
        };
        return app;
    })();
    if (window.addEventListener) {
        window.addEventListener('DOMContentLoaded', window.App.init, false);
    }
})(window, window.document);

如您所见,我目前有一种从 nav 内部调用app.openNav的方法.js通过在 html 对象上使用addEventListener。 但是,我正在使用外部库(hammer.js)来解释我想用来打开导航的事件。

问题

是否可以从 nav.js?
外部调用 app.openNav 函数如果是这样,我将如何去做?

根据您的代码,它可以作为App.openNav访问。

现场演示:http://jsfiddle.net/simevidas/6N3dZ/(等待 2 秒钟以显示警报。

相关文章: