Hallo Leute
ich habe folgendes problem. Ich habe ein Menu, das mit der rechten maustaste geöffnet wird. Nun das Problem: Es wird überall angezeigt, ausser wenn es über ein Formularfeld (Dropdown) geöffnet wird, dann wird das DHTML Menu nicht korrekt angezeigt. Das Dropdown menu ist dann im DHTML Menu sichtbar (es schlägt durch).
Was kann ich da machen?
<script language="JavaScript" type="text/javascript">
<!--
var context_delete;
var context_view;
var context_reply;
var context_replyall;
var context_forward;
var context_forward;
var context_source;
var context_print;
function contextTwice() {
if (event.srcElement==whichDiv)
DrawContextMenu(id,folder);
}
function DrawContextMenu(id,folder) {
whichDiv=event.srcElement;
context_view = "view.php?id=" + id + "&f=" + folder + "[session_force]";
context_delete = "delete.php?selection=" + id + "&f=" + folder + "[session_force]";
context_reply = "compose.php?id=" + id + "&f=" + folder + "[session_force]";
context_replyall = "compose.php?id=" + id + "&f=" + folder + "&mode=all[session_force]";
context_forward = "compose.php?id=" + id + "&f=" + folder + "&mode=fwd[session_force]";
context_source = "source.php?id=" + id + "&f=" + folder + "[session_force]";
document.getElementById('contextmenu').style.posLeft=event.clientX+document.body.scrollLeft;
document.getElementById('contextmenu').style.posTop=event.clientY+document.body.scrollTop;
document.getElementById('contextmenu').style.display="";
document.getElementById('contextmenu').setCapture();
}
function ClickMenu() {
document.getElementById('contextmenu').style.display="none";
el=event.srcElement;
if (el.id=="mnuView") {
document.location = context_view;
} else if (el.id=="mnuDelete") {
document.location = context_delete;
} else if (el.id=="mnuReply") {
document.location = context_reply;
} else if (el.id=="mnuReplyall") {
document.location = context_replyall;
} else if (el.id=="mnuForward") {
document.location = context_forward;
} else if (el.id=="mnuSource") {
document.location = context_source;
} else if (el.id=="mnuBack") {
window.history.go(-1);
} else if (el.id=="mnuForward") {
window.history.go(1);
}
document.getElementById('contextmenu').releaseCapture();
}
function toggleMenu() {
el=event.srcElement;
if (el.className=="menuItem") {
el.className="highlightItem";
} else if (el.className=="highlightItem") {
el.className="menuItem";
}
}
// -->
</script>
<div onclick='ClickMenu()' onmouseover="toggleMenu()" onmouseout="toggleMenu()" id='contextmenu' style='position:absolute;display:none;width:150px;border:1pt solid #808080;background-color:menu;padding:5px;' oncontextmenu='contextTwice()'>
<table width="100%" cellpadding="0" cellspacing="0" border="0"><tr><td bgcolor="#51748A" width="15"> </td><td> </td><td>
<div class="menuItem" id="mnuView">Öffnen</div>
<div class="menuItemSpacer"><img src="images/spacer.gif" height="1" /></div>
<div class="menuItem" id="mnuReply">Antworten</div>
<div class="menuItem" id="mnuReplyall">Allen antworten</div>
<div class="menuItem" id="mnuForward">Weiterleiten</div>
<div class="menuItemSpacer"><img src="images/spacer.gif" height="1" /></div>
<div class="menuItem" id="mnuDelete">Löschen</div>
<div class="menuItem" id="mnuSource">Quelltext</div>
<div class="menuItemSpacer"><img src="images/spacer.gif" height="1" /></div>
<div class="menuItem" id="mnuBack">Vorherige Seite</div>
<div class="menuItem" id="mnuForward">Nächste Seite</div>
</td></tr></table>
</div>
Danke und Gruss
Raffi