• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Rechtsklick auf div anwenden.

Status
Für weitere Antworten geschlossen.

supertobs

Mitglied
Hallo,
ich habe ein script, mit dass per Rechtsklick ein Rechtsklickmennü anzeigt.
dabei wird das menü per document.oncontextmenu aufgerufen.

Giebt es eine möglickeit dass man bei einer div box ein anderes kontextmenü anzeigt?

Hier der Code:
Code:
// Nur für IE 5+ und NN 6+

ie5=(document.getElementById && document.all && document.styleSheets)?1:0;

nn6=(document.getElementById && !document.all)?1:0;



// Kontextmenü initialisieren

if (ie5 || nn6) {

    menuWidth=122, menuHeight=183;

    menuStatus=0; 



    sp2="  ";

    sp5=sp2+sp2+" "; // Leerzeichen als Abstandshalter (flexibler und code-sparender als eine aufwendige Tabellenkonstruktion)

    oF="onfocus='if(this.blur)this.blur()'"; // Um hässlichen Linkrahmen in einigen Browsern zu vermeiden



    document.write(




        "<div id='menu' style='position:absolute;top:-250;left:0;z-index:100'>"+

        "<table class='KontextMenu' cellpadding='5' cellspacing='0' width='"+menuWidth+"' height='"+menuHeight+"' >"+

        "<tr><td><a class='menu' href='javascript:openWindow2(\"systemsettings\",\"systemsettings.php\")'"+oF+">"+spr['KontextSystemsettings']+"</a></td></tr>"+

        "<tr><td><a class='menu' href='javascript:openWindow2(\"ownFiles\", \"ownFiles.php\")'"+oF+">"+spr['KontextOwnFiles']+"</a></td></tr>"+
        
        "<tr><td><a class='menu' id='displayLeiste'>"+spr['KontextDisplayleiste']+"</a></td></tr>"+

        "<tr><td><hr class='menu'></td></tr><tr><td><a class='menu' href='javascript:location.reload()'"+oF+">"+spr['KontextReload']+"</a></td></tr>"+
        "</table></div>");



    // Rechter Mausklick: Menü anzeigen, linker Mausklick: Menü verstecken

    document.oncontextmenu=showMenu; //oncontextmenu geht nicht bei NN 6.01

    document.onmouseup=hideMenu;
}

// Kontextmenü anzeigen
function showMenu(e) {

    if(ie5) {

        if(event.clientX>menuWidth) xPos=event.clientX-menuWidth+document.body.scrollLeft;

        else xPos=event.clientX+document.body.scrollLeft;

        if (event.clientY>menuHeight) yPos=event.clientY-menuHeight+document.body.scrollTop;

        else yPos=event.clientY+document.body.scrollTop;

    }

    else {

        if(e.pageX>menuWidth+window.pageXOffset) xPos=e.pageX-menuWidth;

        else xPos=e.pageX;

        if(e.pageY>menuHeight+window.pageYOffset) yPos=e.pageY-menuHeight;

        else yPos=e.pageY;

    }

    document.getElementById("menu").style.left=xPos;

    document.getElementById("menu").style.top=yPos;

    menuStatus=1;

    return false;

}



// Kontextmenü verstecken

function hideMenu(e) {

    if (menuStatus==1 && ((ie5 && event.button==1) || (nn6 && e.which==1))) {

        setTimeout("document.getElementById('menu').style.top=-250",250);

        menuStatus=0;

    }

}



// Quelltext anzeigen

function viewSource() {

    var w=window.open("view-source:"+window.location,'','resizable=1,scrollbars=1');

}



// Seite in neuem Fenster öffnen

function openFrameInNewWindow() {

    var w=window.open(window.location,'','resizable=1,scrollbars=1,status=1,location=1,menubar=1,toolbar=1');

}
 
Hi Gillles,
Ich hab das kontext menü auf Encarnium gesehen und wollte auch mal eins machen.
Leider bringe ich es nicht dazu nur auf ein Div anzuwenden.
funktioniert dass dann mit getElementById?
freue mich auf antworten
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben