1

$(this) オブジェクトをクリック イベント内の関数に渡すにはどうすればよいですか。

$('#mainwrap img').click(function(){      
    mcImageManager.browse({
        oninsert : function(o) {
            src= o.focusedFile.url;
            $(this).attr("src", src );
        }
    });
});

どんな提案でも大歓迎です。

4

1 に答える 1

4

thisは特別な変数です-関数が入力されるたびに、新しい値を取ります。

この場合、外部関数をthis内部関数で使用できるようにするには、ネストされた関数の外部で新しい変数をバインドできます。

$('#mainwrap img').click(function() {
    var $this = $(this);      // new variable here 
    mcImageManager.browse({
        oninsert : function(o) {
            src= o.focusedFile.url;
            $this.attr("src", src );  // referenced here
        }
    });
});
于 2013-03-21T09:15:52.630 に答える