IE 固有の Web サイトを他のブラウザーに適応させる作業を行っています。たとえば、onpropertychange は広く使用されており、MutationObserver を使用してその動作をエミュレートしています。
ただし、プログラムによる変更でもユーザー入力でも、input=text フィールドへの値の変更に MutationObserver を反応させることはできません。
検討:
<input type="text" name="test1" id="test1" />
と
var config = { attributes: true, childList: true, characterData: true, subtree: true };
var observer = new MutationObserver(function() { alert('success'); } );
observer.observe(document.getElementById('test1'), config);
document.getElementById('test1').value = 'something' またはキーボード入力で値を変更しようとしても、何も起こりません。
ただし、ID や名前 (JavaScript による) など、要素に関する他の何かを変更しようとすると、MutationObserver が起動します。
値の変更と MutationObserver は、他の入力タイプ、非表示フィールドの値を持つイベントで正常に機能します。
この動作はブラウザ間で一貫しています。
テキストフィールドの値の変化を観察する方法を知っている人はいますか? それとも、これとは異なる方法でアプローチする必要がありますか?