объект event
имеет ссылку на элемент, который вызвал событие.
вы можете использовать parentNode
, чтобы восстановить дерево.
это будет работать с вашим примером html.
function flip (event)
{
var image = event.target || event.srcElement;
var div = image.parentNode;
div.className = (div.className == 'card') ? 'card flipped' : 'card';
}
target
является исходным элементом в ff / chrome, srcElement
является тем же элементом в IE. currentTarget
в ff / chrome - это элемент, который вызывает обработчик, который может не совпадать с элементом, на который вы щелкнули. например, если вы подключили обработчик кликов прямо к элементу div, он будет срабатывать при нажатии на изображение внутри. когда срабатывает обработчик div, currentTarget
будет div, а target
будет изображением. IE не имеет параллели для currentTarget
, о котором я знаю.