短いストーリー私は、私が使用しているカスタムフレームワークが私が望むようにページを操作するためのスクリプトを挿入することを可能にするいくつかのコードをカウボーイしています。Jqueryはテキストボックスのプログラムによる変更を検出します
私は機能を呼び出すが、使用したいテキストボックスが呼び出されたWebサービスから取り込まれた後にのみ、機能を起動したい。
jquery/Javascriptでは、jquery change関数のような関数を呼び出すことができますが、ブラウザのユーザーではなくJavaScriptからテキストボックスが変更されたことを検出できるものがあります。
私は現在、ちょうど持っている:
$("#mytexbox").on('input propertychange paste change',function() {
doSomething();
});
をしかし、ロックされたコードで、元の関数は、テキストボックスの値を設定する場合、これは発生しません。
注:私はJavascriptで模倣することができない動的サーバーサイドコードから構築されているので、元の関数をオーバーロードすることはできません。
また、setTimeout()を使用することを避けたいのは、信頼性が低く、素晴らしいソリューションではないためです。
ありがとうございます!
私はインターバルタイマー以外に使用できるAPIはないと思います。 MutationObserver Apiは値の変更をサポートしていません – charlietfl
グローバル '$ .ajaxComplete'ハンドラを登録し、そこから変更を確認してください。 –
keydown、keyup、またはkeypressを確認し、要素コンテンツが変更される前にイベントが発生したかどうかを確認できます。 – GGG