mmmm ... allora se fosse un link diretto funziona
io carico il link con la confirm su un layer
il linkset[0-10000] sono tanti menù, uno per ogni id e ogni id ha 2,3,4,5 opzioni
ho riportato solo l'opzione per cancellare
per essere più completi
codice:
<script language="JavaScript" src="menu.js"></script>
<body>
<div id="popmenu" class="menuskin" onMouseover="clearhidemenu();highlightmenu(event,'on')" onMouseout="highlightmenu(event,'off');dynamichide(event)"></div>
e il menu.js
codice:
var linkset=new Array();
var ie4=document.all&&navigator.userAgent.indexOf("Opera")==-1;
var ns6=document.getElementById&&!document.all;
var ns4=document.layers;
var a;
function showmenu(e,which){
if (e.button!=0){
return false;
}
if (!document.all&&!document.getElementById&&!document.layers) {
return;
}
clearhidemenu();
menuobj=ie4? document.all.popmenu : ns6? document.getElementById("popmenu") : ns4? document.popmenu : ""
menuobj.thestyle=(ie4||ns6)? menuobj.style : menuobj
if (ie4||ns6) {
menuobj.innerHTML=which;
} else {
menuobj.document.write('<layer name=gui bgColor=#E6E6E6 width=165 onmouseover="clearhidemenu()" onmouseout="hidemenu()">'+which+'</layer>')
menuobj.document.close()
}
menuobj.contentwidth=(ie4||ns6)? menuobj.offsetWidth : menuobj.document.gui.document.width
menuobj.contentheight=(ie4||ns6)? menuobj.offsetHeight : menuobj.document.gui.document.height
eventX=ie4? e.clientX : ns6? e.clientX : e.x
eventY=ie4? e.clientY : ns6? e.clientY : e.y
// alert (eventX + " - " + eventY)
//Find out how close the mouse is to the corner of the window
var rightedge=ie4? document.body.clientWidth-eventX : window.innerWidth-eventX
var bottomedge=ie4? document.body.clientHeight-eventY : window.innerHeight-eventY
// alert (rightedge + " - " + bottomedge)
//if the horizontal distance isn't enough to accomodate the width of the context menu
if (rightedge<menuobj.contentwidth){
//move the horizontal position of the menu to the left by it's width
menuobj.thestyle.left=ie4? document.body.scrollLeft+eventX-menuobj.contentwidth : ns6? window.pageXOffset+eventX-menuobj.contentwidth : eventX-menuobj.contentwidth
} else {
//position the horizontal position of the menu where the mouse was clicked
menuobj.thestyle.left=ie4? document.body.scrollLeft+eventX : ns6? window.pageXOffset+eventX : eventX
}
//same concept with the vertical position
if (bottomedge<menuobj.contentheight){
menuobj.thestyle.top=ie4? document.body.scrollTop+eventY-menuobj.contentheight : ns6? window.pageYOffset+eventY-menuobj.contentheight : eventY-menuobj.contentheight
} else {
menuobj.thestyle.top=ie4? document.body.scrollTop+e.clientY : ns6? window.pageYOffset+eventY : eventY;
}
menuobj.thestyle.visibility="visible";
return false;
}
function contains_ns6(a, b) {
//Determines if 1 element in contained in another- by Brainjar.com
while (b.parentNode)
if ((b = b.parentNode) == a)
return true;
return false;
}
function hidemenu(){
if (window.menuobj)
menuobj.thestyle.visibility=(ie4||ns6)? "hidden" : "hide";
}
function dynamichide(e){
if (ie4&&!menuobj.contains(e.toElement))
hidemenu();
else if (ns6&&e.currentTarget!= e.relatedTarget&& !contains_ns6(e.currentTarget, e.relatedTarget))
hidemenu();
}
function delayhidemenu(){
if (ie4||ns6||ns4)
delayhide=setTimeout("hidemenu()",500);
}
function clearhidemenu(){
if (window.delayhide)
clearTimeout(delayhide);
}
function highlightmenu(e,state){
if (document.all)
source_el=event.srcElement
else if (document.getElementById)
source_el=e.target
if (source_el.className=="menuitems"){
source_el.id=(state=="on")? "mouseoverstyle" : ""
}
else{
while(source_el.id!="popmenu"){
source_el=document.getElementById? source_el.parentNode : source_el.parentElement
if (source_el.className=="menuitems"){
source_el.id=(state=="on")? "mouseoverstyle" : ""
}
}
}
}
//if (ie4||ns6)
//document.onclick=hidemenu