我有一个函数传递一个函数调用的参数,然后我使用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()
}
我是否遗漏了某些东西,请有人帮我解决这个问题。
由于
答案 0 :(得分:0)
抱歉,那就是window.setTimeout(context,0)??
你应该创建一个在setTimeout可调用的真实函数。或者只是我不理解你的问题并抱歉。