У меня есть следующий фрагмент кода, и я не очень понимаю, как передать его вплоть до функции 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
В этом случае либо я неправильно понял вопрос, либо вы используете другой код из того, что появляется выше. –