Why onreadystatechange doesn't follow the camelCase convention?

for example:

var xhr = new XMLHttpRequest();

xhr.onreadystatechange = function () {
      if (xhr.readyState === 4) {
          document.getElementById("ajax").innerHTML = xhr.responseText;
      }
};

notice xhr.onreadystatechange is not camelCased but xhr.responseText is. Is there a reason for this that I"ve missed?
and others such as onmousedown/onmouseup, etc., are not named for hump

.
MySQL Query : SELECT * FROM `codeshelper`.`v9_news` WHERE status=99 AND catid='6' ORDER BY rand() LIMIT 5
MySQL Error : Disk full (/tmp/#sql-temptable-64f5-1b3ab26-2c241.MAI); waiting for someone to free some space... (errno: 28 "No space left on device")
MySQL Errno : 1021
Message : Disk full (/tmp/#sql-temptable-64f5-1b3ab26-2c241.MAI); waiting for someone to free some space... (errno: 28 "No space left on device")
Need Help?