0

我有一个要从外部调用的嵌套函数。

var _Config = "";
var tourvar;
function runtour() {
    if (_Config.length != 0) {
        tourvar = $(function () {
            var config = _Config,
                autoplay = false,
                showtime,
                step = 0,
                total_steps = config.length;
            showControls();
            $('#activatetour').live('click', startTour);
            function startTour() {
            }
            function showTooltip() {
            }
        });
    }
}
function proceed() {
    tourvar.showTooltip();
}
$(document).ready(function () {
    runtour();
});

我希望通过 tourvar.showTooltip() 来调用它;但我似乎错了:) 如何使 showTooltip() 从函数外部可用?

4

2 回答 2

1

由于我之前的回答实在是太过火了,所以我决定删除它并为您提供另一个:

var _Config = "";
var tourvar;

// Module pattern
(function() {
    // private variables
    var _config, autoplay, showtime, step, total_steps; 

    var startTour = function() { };

    var showTooltip = function() { };

    // Tour object constructor
    function Tour(config) {
        _config = config;
        autoplay = false;
        step = 0;
        total_steps = _config.length;

        // Provide the user with the object methods
        this.startTour = startTour;
        this.showTooltip = showTooltip;
    }

    // now you create your tour
if (_Config.length != 0) {
        tourvar = new Tour(_Config);
    }
})();

function proceed() {
    tourvar.showTooltip();
}
$(document).ready(function () {
    runtour();    
});
于 2013-10-14T18:17:42.507 回答
0
function outerFunction() {
    window.mynestedfunction = function() {
    }
}
mynestedfunction();
于 2013-10-14T18:54:04.743 回答