Ale×: Prüfen ob außerhalb eines bestimmten Bereiches geklickt wurde

Beitrag lesen

Hallo zaphod1984,

im event die absoluten koordinaten des seiten klicks abfragen, dann die absoluten koordinaten des kastens ermitteln*, offsetwidth und offsetheight drauf addieren und schauen ob die mouseklicks innerhalb des bereiches passiert sind! :)

OK, eine ganz andere Herangehensweise... aber eine gute Idee!

So sieht's aus:

function mausklick(e)  
 {  
  // Klickposition ermitteln:  
  if(!e) e = window.event;  
  posX  = e.clientX + (document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft);  
  posY = e.clientY + (document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop);  
  // Position des Kastens ermitteln:  
  var obj = e.target || e.srcElement;  
  var boxX = document.getElementById('kasten').offsetLeft;  
  var boxY = document.getElementById('kasten').offsetTop;  
  var boxWidth = document.getElementById('kasten').offsetWidth;  
  var boxHeight = document.getElementById('kasten').offsetHeight;  
  // Prüfen, on außerhalb des Kastens geklickt wurde:  
  if(posX < boxX || posY > (boxX+boxWidth) || posY < boxY || posY > (boxY+boxHeight))  
   {  
    alert('Außerhalb des Kastens geklickt!');  
   }  
 }  
document.onmousedown = mausklick;

Ale×