我正在編寫一個Chrome擴展程序,允許您輸入文本,點擊按鈕並將其格式化爲Twitter。點擊提交按鈕後,我將textarea的value
設置爲推文。具體而言,我使用:textarea的值在更改時不顯示
arr.forEach((item) => {
INPUT.value = INPUT.value + item;
});
凡arr
是鳴叫的一個字符串數組和INPUT
是const INPUT = document.getElementById('input');
結果而這個元素textarea的。
這工作正常,並按預期寫回推文。但是,我試圖在每個keyup
事件中保存textarea的內容,以便人員可以關閉彈出窗口,重新打開它,並仍然可以使用它們的工作。
這是該代碼:把console.log(INPUT.value);
語句之前和之後INPUT.value = obj.inputVal;
chrome.storage.local.get("inputVal", (obj) => {
if(obj.inputVal) {
INPUT.value = obj.inputVal;
}
});
INPUT.addEventListener('keyup',() => {
chrome.storage.local.set({"inputVal": INPUT.value});
});
顯示INPUT.value
確實被設置爲inputVal
字段的對象的內容從Chrome中儲存返回。但是,該文本不會出現在彈出窗口的文本區域中。由於我正在使用與我稍後寫出推文完全相同的調用,所以我完全不知道爲什麼它在這裏不起作用。
一如既往,非常感謝任何見解!
可能的重複[爲什麼我的變量在函數內部修改後沒有改變? - 異步代碼引用](https://stackoverflow.com/questions/23667086/why-is-my-variable-unaltered-after-i-modify-it-inside-of-a-function-asynchron) – Makyen