我对javascript缓存有疑问?
有没有办法将键盘输入保存到任何对象/元素或whatelse,当焦点不在文本框上时我可以从键盘存储用户输入?
在我关注od文本框之后,我想将键入的文本自动放到文本框中?
我需要这个,例如,如果在一个文本框中存在执行约1-2秒的函数,如果我快速选择另一个文本框并立即开始输入,那么现在将在第二个文本框中键入前几个字符,因为第一个文本框中的函数仍在执行...
哪种方法最适合这种情况?
感谢。
答案 0 :(得分:1)
我认为使用jQuery这很容易解决。您可以尝试使用以下代码段进行一些实验,该代码段应该完全符合您的要求:
jQuery(function() {
var inputBuffer = "";
jQuery("body").keypress(function(event) {
// Collect input that is not being processed by an input/textarea field
inputBuffer += String.fromCharCode(event.charCode);
});
jQuery("input,textarea").focus(function(event) {
// Append buffered input to text field
jQuery(this).val( jQuery(this).val() + inputBuffer );
// Clear buffer
inputBuffer = "";
});
jQuery("input,textarea").blur(function(event) {
// Discard input buffer
// Prevent from using input collected while having an input/textarea in focus
inputBuffer = "";
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>
<p>Some non-input element</p>
</div>
<input type="text" />