1

我在文本框的 onkeyup 事件上有调用函数,它使用 ajax 传递数据。下面是我在 .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 回答