Javascript 如何使用eventHandler随事件传递其他参数
所以。。。我有以下代码:Javascript 如何使用eventHandler随事件传递其他参数,javascript,ajax,events,upload,event-handling,Javascript,Ajax,Events,Upload,Event Handling,所以。。。我有以下代码: function uploadFile(arquivo, id) { alert(id) var file = _(id).files[0]; // alert(file.name+" | "+file.size+" | "+file.type); var formdata = new FormData(); formdata.append(id, file);
function uploadFile(arquivo, id) {
alert(id)
var file = _(id).files[0];
// alert(file.name+" | "+file.size+" | "+file.type);
var formdata = new FormData();
formdata.append(id, file);
var ajax = new XMLHttpRequest();
ajax.upload.addEventListener("progress", progressHandler.bind(id), false);
//ajax.addEventListener("load", completeHandler, false);
ajax.addEventListener("error", errorHandler, false);
ajax.addEventListener("abort", abortHandler, false);
ajax.open("POST", "");
ajax.send(formdata);
}
function progressHandler(id) {
//_("loaded_n_total").innerHTML = "Uploaded " + event.loaded + " bytes of " + event.total;
console.log('id --->' + id)
console.log('event.loaded -----> ' +event.loaded)
var percent = (event.loaded / event.total) * 100;
console.log('percent ---> ' + percent)
if (percent === 100) {
console.log('Upload concluído')
}
//_("progressBar").value = Math.round(percent);
但在这方面:
console.log('id --->' + id)
我得到的回应是:
id-->[对象进程事件]
非常感谢所有帮助调用函数时,
的第一个参数。bind()
是您希望用于此
的值,而不是您希望传递的参数。