javascript - div popup bei klick auf Seite schließen

CrazyWolf

Lt. Commander
Registriert
Jan. 2004
Beiträge
1.946
Hallo,

ich habe folgendes Problem.
Ich hab eine Anwendung bei der u.A. zur Datumseingabe ein Kalender eingeblendet wird. Ist eigentlich eine Geschichte wie hier im Forum die Menüs. Läuft auch über Divs.

Ich hab es bisher so gehandhabt dass ich das eingeblendete Menü etc. geschlossen habe wenn man über mouseout das objekt verlässt. Klappt auch.

Nur würde ich es gerne so machen, wenn das menü eingeblendet ist, dass man dieses schließen kann in dem man auf die Hauptseite klickt. Sowas wie hier bei den Menüs im Forum.
Wie kann ich das denn am besten umsetzen? Habs mal ins Blaue mit document.onclick versucht, aber sobald man dann das Menü öffnet schließt es gleich wieder.

Hat da jemand ne gute Möglichkeit?

Danke schonmal,
Andreas
 
Hallo,

du könntest zum Beispiel beim Aufruf des Popup noch ein weiteres durchsichtiges DIV-Element erstellen, dass sich über den ganzen Viewport-Bereich erstreckt.
Diesem kannst du dann einen entsprechenden onclick-Event zuordnen, der wieder beide DIV-Elemente ausblendet.
Zu beachten ist nur, dass dieses Element unter dem Popup liegt, da dieses sonst bei einem Klick im Bereich dieses auch ausgeführt werden würde.

MfG mh1001
 
Code:
function allothers()
{
	//div ausblenden
	return false
}

function clickIE4()
{
	if (event.button==1)
	{
		//div ausblenden
		return false;
	}
}

function clickNS4(e)
{
	if (document.layers||document.getElementById&&!document.all)
	{
		if (e.which==1)
		{
			//div ausblenden
			return false;
		}
	}
}


//Behandlung für alten Netscape
if (document.layers)
{
	document.captureEvents(Event.MOUSEDOWN);
	document.onmousedown=clickNS4;
}

//Behandlung für alten Internet-Explorer
else if (document.all&&!document.getElementById)
{
	document.onmousedown=clickIE4;
}

//Behandlung für neuen Netscape
else if (!document.all&&document.getElementById)
{
	document.onmousedown=clickIE4;
}

//Behandlung für neuen Internet-Explorer
document.oncontextmenu=allothers;

Dort, wo der Kommentar Div-ausblenden steht, rufst du halt die entsprechende Fkt. oder ähnliches auf.
 

Ähnliche Themen

Zurück
Oben