Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 设置本地存储保存的频率_Javascript_Jquery_Local Storage - Fatal编程技术网

Javascript 设置本地存储保存的频率

Javascript 设置本地存储保存的频率,javascript,jquery,local-storage,Javascript,Jquery,Local Storage,我正在创建一个在线文本编辑器 我已经使用jQuery将信息存储在客户端 $(document).ready(function () { $('#type-name').blur(saveSettings); loadSettings(); }); function loadSettings() { $('#type-name').val(localStorage.typewriter); } function saveSettings() { localSto

我正在创建一个在线文本编辑器

我已经使用jQuery将信息存储在客户端

$(document).ready(function () {
    $('#type-name').blur(saveSettings);
    loadSettings();
});

function loadSettings() {
    $('#type-name').val(localStorage.typewriter);
}

function saveSettings() {
    localStorage.typewriter = $('#type-name').val();
}

这将保存用户编写的内容,但不会保存所有内容。它似乎只节省了一定数量,并恢复到以前的状态。但当我离开它20秒的时候,它就省钱了,而且还能工作。如何更改保存率?

如果您将输入单独放置20秒,浏览器会对输入触发
模糊
事件?真奇怪。你为什么不使用
keyup
?你也可以使用
setInterval()
。听起来好像OP说使用“blur”会导致达到某种本地存储速率限制。使用.keyup似乎解决了这个问题。看起来模糊是个问题。
$(document).ready(function () {
    var blur_timeout_id;

    $('#type-name').blur(function () {
        if (blur_timeout_id) {
            clearTimeout(blur_timeout_id);
        }

        blur_timeout_id = setTimeout(function () {
            saveSettings();
        }, 1000); // or 10000, etc.
    });

    loadSettings();
});

function loadSettings() {
    $('#type-name').val(localStorage.typewriter);
}

function saveSettings() {
    localStorage.typewriter = $('#type-name').val();
}