Проблема, с которой вы столкнулись, известна как всплытие событий. Событие щелчка изображения всплывает до всех родительских элементов этого узла. Вы хотите отменить барботирование.
Лучший способ сделать это, работающий во всех браузерах, это использовать JavaScript-фреймворк. jQuery имеет очень простой способ сделать это. Другие фреймворки имеют аналогичные механизмы для отмены пузырей, я просто очень хорошо знаком с jQuery.
Например, вы можете сделать что-то подобное в jQuery:
$('img').click(function () {
// Do some stuff
return false;// <- Cancels bubbling to parent elements.
});