1

我的代码

<a href="javascript:void(0);" onclick="myFunction(this)">Call Function</a>​

$(window).load(function () {
    function myFunction(param) {
        console.log("called");
    }
});

如您所见,我无法访问该功能(在加载范围内)。我也不能在负载中使用处理程序,因为我处于一个场景中(不要问我为什么,这是一个谷歌地图信息窗口策略)当我创建一些元素时处理程序将被删除(所以,我应该在哪里调用该函数来自对象)。

那么,在加载范围内调用函数是否有“技巧”?

4

2 回答 2

2

可以在load函数作用域外声明为变量,在load函数作用域内设置值,就可以访问了函数已执行:

var myFunction;

$(window).load(function () {
    myFunction = function(param) {
        console.log("called");
    }
});

小提琴

或者我会怎么做:

<a href="#" id="myAnchor">Call Function</a>​

--

$(function() {
    $("#anchor").on('click', function(e) {
        e.preventDefault();  
        console.log("called");
    });
});

谷歌地图有自己的处理方式:

google.maps.event.addListener(marker, 'click', function(event) { ...
于 2012-10-29T15:56:46.340 回答
0

为什么不这样做呢?

function myFunction(param) {
    console.log("called");
}

$(window).load(function () {
    //Any code you actually need in the load
});
于 2012-10-29T15:56:17.917 回答