Этот код выдает ошибку - в операторе for..in 'x' является ключом вашего объекта (в данном случае, ваш document.getElementsByTagName
вызов).Что вы хотите:
var x,
imgs = document.getElementsByTagName("img");
for(x in imgs) {
if (imgs[x] instanceof Element) {
imgs[x].addEventListener('click',openPage, false);
}
}
function openPage() {
alert("clicked");
}
Могу ли я предложить использовать Javascript Framework (например, jQuery ), который может помочь упростить ваш код как таковой:
$('img').each(function() {
$(this).click(function() {
alert('Clicked!');
// Now that we're in the callback context, $(this) will be the current
// target - the specific image that was clicked.
// i.e. $(this).fadeOut() would slowly fade out the clicked image.
});
});