2

IE の従来のonselectionchangeに対応する標準のクロスブラウザ HTML5 イベントはありますか(したがって、現在の選択が変更されたときに発生します)。

EDITED 、選択オブジェクトの変更を追跡しようとしています。

4

5 に答える 5

2

使用する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);
}

出典:ウェブ

于 2013-09-23T13:48:40.213 に答える
2

遅すぎることはありません:

// 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
}
于 2021-02-18T13:08:33.987 に答える
0

onChange 属性を確認することをお勧めします。

<input type='text' onChange='alert(this.value)'>

onchange イベントは、要素の値が変更されたときに発生します。

ラジオボタンとチェックボックスの場合、チェック状態が変更されると onchange イベントが発生します。

于 2013-09-23T13:45:21.450 に答える
0

標準はonchange次のとおりです。

<select id="myName" onchange="myMethod(this)">
...
</select>

これは、テキストボックスなどにも使用できます。

http://www.w3schools.com/tags/ev_onchange.aspを参照してください。

于 2013-09-23T13:44:45.287 に答える