Таймер задержки JavaScript применяется только к последнему изменению TextareaJquery

Программирование на jquery
Ответить
Anonymous
 Таймер задержки JavaScript применяется только к последнему изменению Textarea

Сообщение Anonymous »

У меня есть несколько TextArees на веб -странице, как ниже. Что происходит, так это то, что когда вы вводите в одну из Textareas, существует задержка, которая запускает Keyup, а затем берет текст в Textarea и отправляет его на вызов Ajax, чтобы сохранить его. Вызов Ajax и сохранение работают нормально. < /P>
Проблема заключается в том, что если я введу более одного Textarea, прежде чем запустите триггер задержки, только последняя Textarea I введите, отправляется на вызов Ajax . < /p>
В настоящее время то, что происходит: < /p>
  • Введите в Textarea 1 < /li>
    Введите Textarea 2
  • Только изменения в Textarea 2 отправляются в Ajax Call
Что должно произойти:
  • Введите Textarea 1 и изменяет триггер вызов Ajax для сохранения изменений < /li>
    Введите Textarea 2 и изменяет триггер звонок Ajax для сохранения Изменения
ввод в Textarea 2 не должно влиять на сохранение Textarea 1.
html < /p>


123

1234

12345

123456



javascript

function delay(callback, ms) {
var timer = 0;

return function() {
var context = this, args = arguments;
clearTimeout(timer);
timer = setTimeout(function () {
callback.apply(context, args);
}, ms || 0);
};
}

function save(rootNode)
{
var note = rootNode.val();

ajaxCall(null, 2, note, false);
}

$('.box').on('keyup', 'textarea', delay(function(event) {
save($(this));
}, 2000));


Подробнее здесь: https://stackoverflow.com/questions/794 ... d-textarea
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Jquery»