JeSchnell: prüfen ob klick was auslöst

Beitrag lesen

hi,

Also am liebsten wäre mir beispielsweise onclick im BODY tag, welches prüft:

wenn klick was ausgelöst hat {}
sonst {}

notiere den Eventhandler besser nicht direkt im Tag, sondern belege einfach deine document.onclick-Eigenschaft mit function(Erg) {if(!Erg) Erg = window.event;};, denn dann kannst du auf das Eventobjekt zugreifen.
Im Mozilla könntest du mit [link:http://www.html-world.de/program/js_o_eve.php#target@title=e.target.nodeName] arbeiten und überprüfen, ob das Element ein Formularfeld oder ein Link ist. Falls du auch überprüfen willst, ob ein Eventhandler ausgeführt wurde, kannst du das mit new Boolean(e.target.onclick) herausfinden.
Da der IE diese Eigenschaft leider nicht unterstützt, musst du da mit Ranges an den Start gehen. Dein Script könnte ca. so aussehen:

  
document.onclick = function(e) {  
  if(!e)  
    e = window.event;  
  var target = e.target;  
  if(!target) {  
    target = document.body.createTextRange();  
    target.moveToPoint(e.clientX, e.clientY);  
    target = target.parentElement();  
  }  
  alert(target.nodeName);  
  alert(new Boolean(target.onclick));  
}  

lg JeSchnell