1

私はajaxを使用してデータを渡すテキストボックスのonkeyupイベントで関数を呼び出します。以下は.jsファイルにある私の関数のサンプルコードです。

var timeout;
function testfont(id,image) 
{
    alert('image');//when alert here it shows value
    clearTimeout(timeout);
    timeout = setTimeout( function()
    {
        if(image.match(/_small/g))
        {
            var image = image.replace('_small','');
        } else {
            var image = image;
        }
        alert('image'); //when alert here it show undefined
    }, 500);
}

しかし、問題は、setTimeout関数内で未定義の画像値を取得することです。setTimeoutを使用しなくても完全に機能しますが、しばらくするとイベントが発生するためにsetTimeout関数が必要になります。

どうすればこれを解決できますか?

4

1 に答える 1

1

それぞれの条件で変数を作成しています。

function testfont(id,image) 
{
    clearTimeout(timeout);
    timeout = setTimeout( function() {
    if(image.match(/_small/g)){
    image = image.replace('_small','');
    }
    else{
        image = image;
    }
    alert(image);//when alert here it show undefined
}, 500);
}
于 2012-12-06T05:35:59.327 に答える