JavaScript によって変更されたときに、input type="text" の変更をすぐに検出したいと考えています。ユーザーが手動で変更した場合、次の方法で検出をトリガーできます。
onchange="myfunction();" onkeyup="this.onchange();" onpaste="this.onchange();" oninput="this.onchange();"
私はこれを理解することはできません。
JavaScript によって変更されたときに、input type="text" の変更をすぐに検出したいと考えています。ユーザーが手動で変更した場合、次の方法で検出をトリガーできます。
onchange="myfunction();" onkeyup="this.onchange();" onpaste="this.onchange();" oninput="this.onchange();"
私はこれを理解することはできません。
MutationObserver
属性の変更を観察できるオブジェクトを使用できます。el.value = ...
ただし、の代わりに実行したときにコールバックが呼び出されるかどうかはわかりませんel.setAttribute('value', ...)
。
value
を使用して、プロパティのカスタム セッターを定義することもできますObject.defineProperty
。ただし、DOM 要素に対して行ったことはありません。セッターが既に定義されている場合は、新しいセッターもそれを呼び出すようにする必要があります。Object.getOwnPropertyDescriptor
現在のセッターがあれば、おそらくそれを取得するために使用できます。
最後に、最後の手段として、要素setInterval
のプロパティが変更されたかどうかを定期的に確認するためにいつでも使用できますvalue
が、私はこのアプローチがあまり好きではありません。ただし、これが唯一のクロスブラウザーである可能性があります。
残念ながら、現時点ではこれをテストすることはできませんが、後で戻ってこの回答を更新します.