Правильное написание свойства обработчика событий — строчные буквы .onload
, а не .onLoad
.
var img = new Image();
img.onload = function() {
console.log("load"); // works every time
};
img.src = "img/domino/21.png";
Javascript чувствителен к регистру, поэтому вы ДОЛЖНЫ использовать правильный регистр для всех свойств объекта.
Альтернативы, кроме .onload
, должны использовать:
img.addEventListener("load", function(e) {...});
или (в более старых версиях IE):
img.attachEvent("onload", function(e) {...});
Если вы используете только один обработчик событий и не используете кросс-платформенную библиотеку, которая уже абстрагирует обработчики событий за вас, то использование .onload
является самым простым.
И вот простой кросс-браузерный способ добавления обработчиков событий:
// add event cross browser
function addEvent(elem, event, fn) {
if (elem.addEventListener) {
elem.addEventListener(event, fn, false);
} else {
elem.attachEvent("on" + event, function() {
// set the this pointer same as addEventListener when fn is called
return(fn.call(elem, window.event));
});
}
}
person
jfriend00
schedule
11.05.2012
onload
, а неonLoad
; JavaScript чувствителен к регистру, даже если HTML нет. - person Phrogz   schedule 11.05.2012