Javascript没有更新

时间:2011-02-01 23:17:06

标签: javascript jquery javascript-events settimeout

我有一个函数传递一个函数调用的参数,然后我使用setTimeout来调用这个传递的函数调用。现在我尝试使用setTimout两个方法来引发事件,我使用了function.call()。当这个传递参数函数调用时,没有任何javascript被更新,下面是我用来引发事件的javascript和应该更新的javascript:

传递的函数是[context] - function(){ErrorMessageFileSelect('diverrortextchoosechannal','选择的文件是大的,你必须选择小于1MB的文件'); }

function FileSizeOnLoad(contentLength,context) {

    if (context != null) {
        //        context.call();
        context.call();
    } 
    else
    {
        $('#inputHiddenFileSizeField').val(contentLength);
        DisplayChoseFileInformation(contentLength);
    }
}

//这是更新应该发生的地方 - 此函数添加在entirley不同的Javascript文件中。

function ErrorMessageFileSelect(className, errorMessage) {

    $('div.' + className).text(errorMessage);
    alert($('div.' + className).text());
}



function DisplayChoseFileInformation(fileSize) {

    var input = $('#ajaxsinglefileupload');
    inputValue = $(input).val();

    var splitFilename = inputValue.split("\\");
    var filename = splitFilename[splitFilename.length - 1];

    $("div.divfileuploadinformation").html("File chosen: '" + filename + "'");
    var div = $("<div/>");
    $("div.divfileuploadinformation").append(div);

    if (parseInt(fileSize) < 1024) {
        $(div).html("File Size: " + parseInt(fileSize) + " bytes");
    }
    else {

        var kb = fileSize / 1024;

        if (kb < 1024) {
            $(div).html("File Size: " + parseInt(kb).toFixed(0) + " kb");
        }
        else {
            $(div).html("File Size: " + (parseInt(kb).toFixed(0) / 1024).toFixed(0) + " mb");
        }

    }

    $(div).css("padding-left", "50px");
    $(div).css("display", "inline-block");
    $('div.divfileprogress').show()

}

我是否遗漏了某些东西,请有人帮我解决这个问题。

由于

1 个答案:

答案 0 :(得分:0)

抱歉,那就是window.setTimeout(context,0)??

你应该创建一个在setTimeout可调用的真实函数。或者只是我不理解你的问题并抱歉。