

`readystatechange` はイベントなのだから `addEventListener`
を使って登録できると思うんですが、大抵のAjaxサンプルでは `onreadystatechange` に代入する方法をとってると思います。

なにか避ける理由でもあるんでしょうか。ちょっと長いから？

[code]

    var xhr = new XMLHttpRequest();
    xhr.open("GET", "/path/to/file", true);
    xhr.onreadystatechange = function(){
      if( this.readyState === 4 && this.status === 200 ){
        console.log(xhr.responseText);
      }
    };
    xhr.addEventListener('readystatechange', function(){
      if( this.readyState === 4 && this.status === 200 ){
        console.log(xhr.responseText);
      }
    });
    xhr.send("");
    
[/code]


CC BY-SA 3.0
2015-03-02T18:01:34.173
7334
2015-09-18T15:47:35.707
2015-03-03T00:48:19.030
76
8610
question
javascript ajax
onreadystatechange に対して addEventListener を使わないのはなぜか


（現在はどうか分かりませんが、）addEventListenerの方はOperaでは動かないみたいですね。  
W3Cの仕様でいえばreadystatechangeを発火しないとダメなんですが、それに従っていないようです。

ズバリな質問がありました ↓

<https://stackoverflow.com/questions/6971259/readystatechange-using-
addeventlistener-versus-old-style-property>


CC BY-SA 3.0
2015-08-19T15:34:47.583
14633
2015-08-19T15:34:47.583
2017-05-23T12:38:55.307
-1
9608
7334
answer