ChromeではなくIEの問題に直面しています。私はjavascriptで値を変更した後、変更イベントをトリガしません。私はそれがevent changeの仕様として正しく働くと思います。ユーザーがjavascriptで入力を変更した場合、ユーザーにが入力されていないことを意味する入力にフォーカスが失われ、(javascriptは)入力を変更します。しかし、Chromeはユーザーが入力を変更したことを知っているので、変更をトリガーするスマートな人です:)。 IEをChromeのように動作させる方法はありますか?JavaScriptによる入力の値を変更した後、Internet Explorer 11の変更イベントが発生しない
document.getElementById('inputName').addEventListener("keyup", function(e){
\t this.value += '_';
});
<body>
<input id="inputName" value="name" onchange="document.getElementById('outputName').innerHTML = document.getElementById('inputName').value"/>
<div id="outputName">name</div>
</body>
私は、任意のブラウザとは思いませんJSを介して入力が変更されたときに変更イベントをトリガーしますか?私はあなたのデモをChromeで実行しました.JSを介して唯一の変更が行われた場合、 'onchange'がトリガされません(例:フィールドをクリックして矢印またはシフトキーを押すと、これは間接的にキーアップJSコード)。リンクされたMDNページでさえ、ユーザーが物事を変更したときにのみ変更イベントがトリガーされると言います。 – nnnnnn
Javascriptで値を変更した場合、_keyup_イベントではありません。それは想定されているとおりに動作しています。とにかくイベントをトリガーしたい場合は、[dispatchEvent()](https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/dispatchEvent)を使用する必要があります。 – icecub
@nnnnnnはいわかっています。私はIEをそのように振る舞わせたいが、それはしない。私のコードをIEで試してみてください - >文字を入力してから、私がしたいことを理解してください。 – logger