我试图简单地将字符串保存到 Chrome 的本地存储中,但我似乎无法做到这一点。可能我对函数参数实现有错误的想法(3年后,我想我可能会明白),但任何帮助让这段代码正常工作的帮助将不胜感激。我想让它尽可能动态,允许我获取我编写的任何文本输入字段的 ID 并适本地更改存储的字符串。
这是我到目前为止得到的代码:
function setData() {
dataToStore = document.getElementById('txtStore').value;
return dataToStore;
}
function storeData(data) {
localStorage.setItem('input', data);
}
btnStore.addEventListener('click', storeData(setData), false);
我对函数参数的实现是否有点落后?我真的以为这次我得到了..
最佳答案
当你写下:
btnStore.addEventListener('click', storeData(setData), false);
storeData(setData) 在开始时立即执行(当您绑定(bind)单击事件时)。因此,它将传递您输入的初始值,该值可能为空。
所以你应该在存储数据时调用setData:
function setData() {
dataToStore = document.getElementById('txtStore').value;
return dataToStore;
}
function storeData() {
localStorage.setItem('input', setData());
}
btnStore.addEventListener('click', storeData, false);
关于javascript - 在本地存储中设置数据/功能使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29916515/