@@alle:
window.onclick = showNodeName;
function showNodeName(e)
{
if (!e) var e = window.event;
var target = e.target || e.srcElement;
if (target.nodeType == 3) target = target.parentNode; // defeat Safari bug
alert(target.nodeName);
return false;
}
tut das Erwartete: Es wird der Elementtyp der jeweiligen Box, auf die geclickt wurde, ausgegeben. Beim Click auf einen Link wird "A" ausgegeben, dem Link wird nicht gefolgt (return false;
).
Tauscht man nun
window.onclick = showNodeName;
gegen
window.addEventListener("click", showNodeName, false);
wird hingegen beim Click auf einen Link nach Schließen des Dialogfensters dem Link gefolgt (Firefox 3).
Warum ist das so? Wie ließe sich das verhindern?
Live long and prosper,
Gunnar
PS: Für welche Safaris ist
if (targ.nodeType == 3) target = target.parentNode;
vonnöten? Braucht man das heutzutage noch?
--
Das einzige Mittel, den Irrtum zu vermeiden, ist die Unwissenheit. (Jean-Jacques Rousseau)
Das einzige Mittel, den Irrtum zu vermeiden, ist die Unwissenheit. (Jean-Jacques Rousseau)