Вот и все.Как я могу получить старое значение текстовой области, чтобы сравнить его с новым значением?Текущее значение становится старым после запуска события (скажем, события keyup).
Я видел несколько решений, например, использование файлов cookie для записи старого значения и нового значения, однако такое решениене работает в моем случае из-за типа манипуляции, которую я хочу выполнить позже.
Надеюсь, есть предложение, которое работает лучше, чем это.
Заранее спасибо.
ОБНОВЛЕНИЕ :
Следуя некоторым советам @drachenstern, @Matthew, @Peter, я получил что-то вродеthis
var startTimer = null;
var oldValue;
$("#textarea").keydown($.debounce( 1000, true, function(){
oldValue = $("#textarea").val();
}
));
$("#textarea").keyup(function(){
if(startTimer) clearTimeout(startTimer);
startTimer = setTimeout(function(){
var newValue = $("#textarea").val();
d = // here a clever comparison
oldValue = newValue;
},2000);
})
Кстати, $.debounce
- это функция из плагина jQuery throttle / debounce.
Это именно то, что я хочу, однако я бы хотел получитьпеременная d
вне функции setTimeout и функции keyup, чтобы использовать ее в другом месте.Тем не менее, clearTimeout кажется сложным, когда дело доходит до возвращаемых значений.Любой способ получить значение d
?.