IE の従来のonselectionchangeに対応する標準のクロスブラウザ HTML5 イベントはありますか(したがって、現在の選択が変更されたときに発生します)。
EDITED 、選択オブジェクトの変更を追跡しようとしています。
IE の従来のonselectionchangeに対応する標準のクロスブラウザ HTML5 イベントはありますか(したがって、現在の選択が変更されたときに発生します)。
EDITED 、選択オブジェクトの変更を追跡しようとしています。
使用するonchange
これらのクロス ブラウザーの問題を回避するために jQuery を使用することをお勧めしますが、テストをスキップする必要があるという意味ではありません。ここを参照してください。
ランジーを見て window.getSelection = rangy.getSelection
それはうまくいくかもしれません...
/*
IE 8 getSelection() missing object and properties simple hack
*/
if (window.getSelection == undefined) { /* IE? */
var wgS = setInterval(function(){ /* wait for Rangy */
if (rangy.initialized) {
window.getSelection = rangy.getSelection; /* do the stuff */
clearTimeout(wgS); /* exit */
}
}, 10);
}
出典:ウェブ
遅すぎることはありません:
// IE
myEditableElement.onselectionchange = onSelectionChange;
// work on chrome, untested on firefox
myEditableElement.addEventListener('focus', function (event) {
document.addEventListener('selectionchange', onSelectionChange);
});
myEditableElement.addEventListener('focusout', function (event) {
document.removeEventListener('selectionchange', onSelectionChange);
});
// Event
function onSelectionChange (event) {
// todo
}
onChange 属性を確認することをお勧めします。
<input type='text' onChange='alert(this.value)'>
onchange イベントは、要素の値が変更されたときに発生します。
ラジオボタンとチェックボックスの場合、チェック状態が変更されると onchange イベントが発生します。
標準はonchange
次のとおりです。
<select id="myName" onchange="myMethod(this)">
...
</select>
これは、テキストボックスなどにも使用できます。