这可能是一个简单的语法错误或类似的错误,但我一辈子都看不到它。我之前在更复杂的结构上使用过 localStorage 没有问题,所以我很困惑为什么这不起作用。
$('.symbols').click(function(){
if ($(this).attr("checked") == "checked"){
setPreferences("symbols", true);
} else {
setPreferences("symbols", false);
}
});
$('.length').on('change', function() {
setPreferences("length", $(this).attr('value'));
});
function setPreferences (key, value) {
console.log("Key[ " + key + " ], Val[ " + value + "]");
localStorage[key] = value; // I've also tried "" + value
}
设置符号可以正常工作,但不存储长度。console.log 在相应事件上打印预期的键/值对,我可以从 Chrome 调试器中看到它试图分配空间——检查时它不存在。触发事件的顺序无关紧要,只有“符号”被正确存储。
从选择“长度”中选择值 16 时的控制台打印:
键[长度],值[16]