我有以下代碼片段,並且我不清楚如何將它一直傳遞到onload函數。如何將變量傳遞給javascript中的回調函數
我試圖在不同的地方定義它,但沒有成功,特別是因爲它的定義需要發生在傳遞給document.on
方法的函數中,因爲我想獲得this
引用的保留。
$(document).ready(function(e) {
$(document).on('click', "#someId", function(e) {
e.preventDefault();
var variable = $(this).attr('name');
chrome.fileSystem.chooseEntry({
type: 'openFile', accepts:[{
extensions: ['txt']
}]
},
function(fileEntry) {
if (!fileEntry) {
return;
}
fileEntry.file(function(file) {
var reader = new FileReader();
reader.onload = function(e) {
////******* how to access variable here? *******\\\\
chrome.storage.local.set({'txt': e.target.result});
};
reader.readAsArrayBuffer(file);
});
});
});
});
我需要訪問variable
的onload
函數內。 我怎麼能通過它?
你不需要傳遞它。它在外部範圍內,因此在範圍鏈中自然可用。 –
@ Beetroot-Beetroot,我在onload函數內部突出顯示並尋找變量作用域,並且在那裏我看不到變量。另外,當我嘗試在控制檯中獲取值時,我得到ReferenceError:變量未定義 – supercalifragilistichespirali
在這種情況下,我錯誤地理解了問題,或者您正在運行與上面顯示的代碼不同的代碼。 –