IIFE不会立即调用

时间:2012-10-08 14:17:48

标签: javascript iife

在下面的代码段中,IIFE init()不会调用。如果需要,我可以发布任何其他代码。

这是一个下拉菜单。我正在测试$Frame.Support()所以我很确定这与它有关,或者更多的是我改变代码结构的方式,以便它现在成为方法中的参数。

$Frame.Support({
    name: 'Menu',
    body: function () {
        var top_element = $A("#hold_name")[0],
            bottom_element = $A("#wrap_bottom")[0],
            time_out_id = 0,
            TIME_DELAY = 1000;

        function top_mouse_over() {
            window.clearTimeout(time_out_id);
            bottom_element.style.visibility = 'visible';
        }
        function bottom_mouse_over() {
            window.clearTimeout(time_out_id);
        }
        function mouse_out() {
            time_out_id = window.setTimeout(function () {
                bottom_element.style.visibility = 'hidden';
            }, TIME_DELAY);
        }

        (function init() {
            alert('I can\'t see me.');
            top_element.addEventListener("mouseover", top_mouse_over, false);
            top_element.addEventListener("mouseout", mouse_out, false);
            bottom_element.addEventListener("mouseover", bottom_mouse_over, false);
            bottom_element.addEventListener("mouseout", mouse_out, false);
        }());
    }
});

0 个答案:

没有答案