所以我有一个文本字段,一个用于将文本添加到localstorage的按钮和一个用于删除它的按钮。
这是我的剧本:
function save() {
var fieldValue = document.getElementById('textfield').value;
localStorage.setItem('text', fieldValue);
}
function load() {
var storedValue = localStorage.getItem('text');
if(storedValue) {
document.getElementById('textfield').value = storedValue;
}
}
function remove() {
document.getElementById('textfield').value = '';
localStorage.removeItem('text');
}
保存和加载功能都有效,但是当我单击“删除按钮”时,它会删除按钮本身而不是本地存储值。
答案 0 :(得分:3)
remove()
似乎是Javascript中的保留函数名称。例如,如果你使用onclick
来调用它,它只会删除元素而不是调用已定义的函数。
我创建了一个小提琴来演示这个问题:http://jsfiddle.net/mW644/
如果使用<button onclick="alert(remove)">Test</button>
检查函数,则会获得本机函数而不是您定义的函数:
function remove() {
[native code]
}
将remove()
重命名为其他内容,它会正常工作。