从函数变量中检索数组

时间:2014-05-06 21:29:20

标签: javascript jquery arrays

如何从之前的功能中检索this

function bla(my_array) {
        image_tag[this] = $('<img src="'+ random_url +'"/>');
        image_tag[this].appendTo('body');
        image_tag[this].bind('load', function () {
            alert('this'); //instead of alerting "image_tag[4]", I'd like to alert its array "4"   
        });
    });
}

bla(4);

2 个答案:

答案 0 :(得分:0)

使用$ .proxy绑定您之前的&#34;此&#34;到新功能:

image_tag[this].load($.proxy(function() {
    alert(this);
},this));

答案 1 :(得分:0)

我认为您的示例代码不像您认为的那样工作:http://jsfiddle.net/eSwf7/

但是假设在你的实际代码中,一切正常,你只想从click处理程序中的外部函数引用this,你可以这样做:

function bla(my_array) {
    var that = this;
    image_tag[this].bind('load', function () {
        alert(that); //instead of alerting "image_tag[4], I'd like to alert 4   
    });
}