Kontextmenü für Firefox

Hi,

ich denke, es liegt am margin-Wert in der Klasse SimpleContentMenu. Hier verewendest du left, dieser Wert existiert für margin jedoch nicht.
Code:
ul.SimpleContextMenu {
    display: none;
    position: absolute;

    /*margin: 0px left;*/
    margin: 0px;

    padding: 1px;
    font-family: Trebuchet MS;

    font-size: 11px;

    list-style-type: none;

    border: 1px solid #999999;
    background-color:white;
}
Ciao
Quaese
 
Hallo Quaese,

an dem falschen Left lag es nicht. Ich bin wieder einmal mehr ratlos. Das einzige das ich hingekriegt habe ist, dass ich das Menu ganz oben und links des DIV- Layer positionieren kann. Dazu habe ich einfach den DIV- Layer um das Menu mit wie folgt im CSS definiert:
PHP:
#container {
	position:absolute;
	left:0;
	top:0;
}

Nun habe ich mir folgenders Überlegt:
Besteht irgendwie die Möglichkeit (PHP/JS), die Mausposition zu ermitteln und somit, anstelle die zwei Werte left & top im CSS zu definieren, die Werte direkt im Menu- Div zuzuweisen. Ich dachte mir das ungefähr so:
PHP:
<div id="container" style="left:[HIER DIE X-POSITION]; top:[HIER DIE Y-POSITION];">[Hier wird das Menu erstellt]</div>

Nun habe ich ein Problem...! Wie kann ich die Mauswerte ausfindig machen? Ich suchte im Internet, doch da werden die Werte oft in einem Formularfeld ausgegeben und das kann ich so ja nicht brauchen.

Es sei an dieser Stelle noch erwähnt, dass ich das Menu durch einen JAVASCRIPTCODE ausgebe. Also mittels document.write();! Eventuell kann das jemandem helfen...!

Herzlichen Dank für die Hilfe
Euer Pinky
 
Zuletzt bearbeitet:
Die Lösung Zum Problem

Liebe Leser dieses Beitrages,

es ist vollbracht...! Hier präsentiere ich meine Lösung. Wichtig dabei ist, dass ihr zu beginn das ZIP- File im Anhang herunterlädt:

Danach braucht ihr folgende Codes

Dieser Code dient dazu, das Menu sooft zu erstellen, wie es Einträge in der MySQL- Datenbank gibt:
PHP:
$i = 1;
	while ($i <= $num)
	{
	echo '	<div class="contextMenu" id="context_'.$i.'" style="text-align:left;">
		<ul>
		<li id="new"><img src="icons/admin_new.gif" /> Neuer Eintrag erstellen</li>
		<li id="newlevel"><img src="icons/admin_new_level.gif" /> Neuer Eintrag eine Ebene einrücken</li>
		<li id="edit"><img src="icons/admin_edit.gif" /> Eintrag bearbeiten</li>
		<li id="delete"><img src="icons/admin_delete.gif" /> Eintrag löschen</li>
		</ul>
		</div>
	';
	$i++;
	}

Bei diesem Code erstellt ihr das TreeMenu mit den MYSQL- Datensätzen. Des weitern werden hier die Links für das Contextmenu mit der entsprechenden MYSQL- ID erstellt.
PHP:
<script type="text/javascript">

	d = new dTree('d');
	d.add(0,-1,'Textverwaltung');

<?
	$i = 1;
	while ($tmp = mysql_fetch_assoc($res)) {
?>
	d.add('<? echo $tmp[id]; ?>', '<? echo $tmp[ebene]; ?>', '<a href="#" class="menu_<? echo $i; ?>"><? echo $tmp[titel]; ?></a>');

	$(document).ready(function() {
		$('a.menu_<? echo $i; ?>').contextMenu('context_<? echo $i; ?>',
			{
			bindings: { 'new': function(t) { window.location.href = "?modul=texte&file=newsneu&ebene=<? echo $tmp[ebene]; ?>"; },
			'newlevel': function(t) { window.location.href = "?modul=texte&file=newsneu&ebene=<? echo $tmp[id]; ?>"; },
			'edit': function(t) { window.location.href = "?modul=texte&file=newsbearbeiten&ebene=<? echo $tmp[id]; ?>"; },
			'delete': function(t) { window.location.href = "?modul=texte&file=loeschen&ebene=<? echo $tmp[id]; ?>"; }
			}
		});
	});

<? 	
	$i++;
	}
?> 
	document.write(d);
</script>

Das ist eigentlich bereits die ganze Geschichte rund um dieses Thema.

Bei Fragen, schreibt mir eine Private Nachricht!

Herzlichen Dank an alle, die mir bei der Lösungsfindung geholfen haben.
Euer Pinky
 

Anhänge

  • treeview_contextmenu.zip
    30,6 KB · Aufrufe: 15
Zurück