2015-07-16 2 views
0

У меня вопрос о кешировании javascript?Javascript - текст ввода кэша?

Есть ли способ сохранить ввод с клавиатуры на любой объект/элемент или whatelse, в котором я могу хранить пользовательский ввод с клавиатуры, когда фокус не находится в текстовом поле?

И после того, как я сосредоточился на текстовом поле, тогда я хочу напечатать текст, который автоматически помещается в текстовое поле?

Мне нужно это, например, если в одном текстовом поле есть функция, выполняемая в течение примерно 1-2 секунд, и если я быстро выберу другое текстовое поле и сразу начну вводить текст, то теперь первые несколько символов будут введены во втором текстовом поле , потому что функция в первом текстовом поле все еще выполняется ...

Какой подход является лучшим для этого случая?

Спасибо.

ответ

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" />

+0

да, это он! Но существует ли какой-либо подход, используя только javascript без какой-либо внешней библиотеки? Есть ли у вас какие-либо идеи? – user1562652

+0

, если вы хотите поддерживать более старые версии Internet Explorer, это приведет к значительно более сложному сценарию. Если бы вы не могли заменить обработчики событий jQuery комбинацией Document/Element.querySelector и регулярных событий javascript. Примеры/документацию см. По адресу: https://developer.mozilla.org/de/docs/Web/API/Document/querySelector/https://developer.mozilla.org/de/docs/Web/API/Element/querySelector/http://www.w3schools.com/jsref/event_onkeypress.asp –

Смежные вопросы