Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.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_Text_Local Storage - Fatal编程技术网

Javascript 如何在不失去焦点的情况下存储文本框的值?

Javascript 如何在不失去焦点的情况下存储文本框的值?,javascript,jquery,text,local-storage,Javascript,Jquery,Text,Local Storage,我试图在文本框中存储值。如果我在文本框中输入一个值,然后在文本框外单击并刷新它,它就可以正常工作。我想知道是否可以只在文本框中输入一个值,直接刷新页面,而不在文本框外单击 以下是脚本: <script> jQuery(function ($) { if (typeof (window.localStorage) != "undefined") { //set the value to the text fields $("input[type=text]")

我试图在文本框中存储值。如果我在文本框中输入一个值,然后在文本框外单击并刷新它,它就可以正常工作。我想知道是否可以只在文本框中输入一个值,直接刷新页面,而不在文本框外单击

以下是脚本:

 <script>
 jQuery(function ($) {
   if (typeof (window.localStorage) != "undefined") {
    //set the value to the text fields
    $("input[type=text]").val(function () {
        return localStorage.getItem(this.id);
    });

    $("input[type=text]").on("change", function () {
        localStorage.setItem(this.id, $(this).val());
    });
     }
 });
</script>

jQuery(函数($){
if(typeof(window.localStorage)!=“未定义”){
//将值设置为文本字段
$(“输入[type=text]”).val(函数(){
返回localStorage.getItem(this.id);
});
$(“输入[type=text]”)。在(“更改”上,函数(){
setItem(this.id,$(this.val());
});
}
});

只有当文本框失去焦点时,才会触发更改事件。您可以改为使用keyup事件立即刷新。

更改事件仅在文本框失去焦点时触发。您可以使用keyup事件来代替立即刷新。

一种简单的方法是在表单字段中侦听keyup事件,而不是更改事件

$("input[type=text]").on("keyup", function () {
    localStorage.setItem(this.id, $(this).val());
});
这里有一个更新的提琴,演示了这将如何工作。

。。。下面是一个演示jQuery的keypress、keyup和change事件之间区别的快速提琴。注意内容在不同事件后更新的时间(并且按键总是落后一个字符)。

您可以在此处阅读有关keyup的内容:
一种简单的方法是在表单字段中侦听keyup事件,而不是change事件

$("input[type=text]").on("keyup", function () {
    localStorage.setItem(this.id, $(this).val());
});
这里有一个更新的提琴,演示了这将如何工作。

。。。下面是一个演示jQuery的keypress、keyup和change事件之间区别的快速提琴。注意内容在不同事件后更新的时间(并且按键总是落后一个字符)。

您可以在此处阅读有关keyup的内容:

使用
keyup
事件,而不是
change
事件

$("input[type=text]").on("keyup", function () {
    localStorage.setItem(this.id, $(this).val());
});

使用
keyup
事件,而不是
change
事件

$("input[type=text]").on("keyup", function () {
    localStorage.setItem(this.id, $(this).val());
});

如果您不介意keyup和keypress之间的区别是什么?keypress在发送值之前触发,keyup在插入字符之后触发。
keyup
-在插入字符之后触发。(用户释放键之后),其中当插入实际字符时,as
keypress
-触发。此处有更多信息-如果您不介意keyup和keypress之间有什么区别的话?keypress在发送值之前激发,keyup在之后激发。
keyup
-在插入字符之后激发。(在用户释放键之后),其中as
keypress
-在插入实际字符时激发。更多信息请点击这里-