私が探しているのは少し主観的ですが、これを行うためのより良い方法があると確信しています。
ユーザーが Web サイトのテキストエリアまたは入力ボックスにコンテンツを入力しているときに、JavaScript を実行するより良い方法を探しています。たとえば、Google Docs などのサイトでは、パフォーマンスを著しく低下させることなく、ほぼ瞬時にドキュメントの変更を保存できます。ただし、多くのサイトでは、次のような jQuery を少し使用しています。
$("#element").on("keyup", function() { /* Do something */ });
これは、検索ボックスでのオートコンプリートなどの単純なことには問題なく機能しますが、対処しなければならない大きなコーパスがあると (またはユーザーがすばやく入力した場合)、パフォーマンスは悪夢になります。
ユーザーが入力しているときにテキストを分析/保存/保存するためのより良い方法を見つけようとして、私は次のようなことを始めました:
var changed = false;
$("#element").on("keyup", function() { changed = true });
setInterval(function() { if(changed) { /* Do something */ changed = false; } }, 1000);
テキスト入力の遅れや遅れを軽減するように見えますが、私にはエレガントな解決策とは言えません。
私の質問に戻りますが、コーパスが変更されたときに JavaScript を実行するより良い方法はありますか? 間隔を使用する以外の解決策はありますか?
ありがとう。