1

この他の質問と同じように、ユーザーが contenteditable DIV の内容を変更したときに関数を呼び出せるようにしたいと考えています。ただし、IE 7-10 をサポートしたいです。IE 7 および 8は「input」イベントをサポートしていません。標準モードの IE 9 と IE 10 は 'input' をサポートしていますが、切り取り、貼り付け、削除 (コンテキスト メニューから)、またはテキスト ドロップ操作に応答して 'input' イベントを起動できません。さらに、Windows 8 上の IE 10 は、ユーザーがコンテキスト メニューから提案されたスペルを選択したときに、スペル修正の変更に応答して 'input' イベントを発生させません。

http://fiddle.jshell.net/2ScfA/show/を参照してください。

Internet Explorer のすべてのバージョンで、[切り取り] および [貼り付け] コンテキスト メニュー オプションを使用すると、「切り取り」および「貼り付け」イベントが表示されます。

IE 9 標準モードと IE 10 では、DOMNodeRemoved と DOMNodeInserted を使用して、contenteditable DIV にテキストをドロップしたり、コンテキスト メニューを使用して DIV の内容を変更したりした結果の変更を処理できます。

ただし、IE 7 および 8 は DOM ミューテーション イベントをサポートしていません。IE 7 または 8 の [削除] または [元に戻す] コンテキスト メニュー オプションを使用するか、テキストを DIV にドロップすると、それらの変更に対して発生するイベントが表示されません。

ユーザーがコンテキスト メニューから [削除] または [元に戻す] を選択したとき、またはテキストを DIV にドロップしたときに IE 7 および 8 で発生するイベントはありますか? contenteditable DIV のコンテンツが変更されました。

4

2 に答える 2

2

onselectionchangeIE では非常に便利なイベントです。oninput新しいブラウザと非常によく似た条件で起動されます。

于 2013-07-20T15:41:59.157 に答える
1

イベント名を「input」から「textinput」に変更することもできます。これは IE で機能します。ソーシャル プラットフォームでサポート リクエストを修正するためにこれを行いました。Content Editable と IE は残念ながらうまく動作しません。

于 2016-11-04T00:29:06.017 に答える