Hola,
Estoy haciendo un menu con clic derecho:
Código HTML:
<style>
.skin{
cursor:default;
font:menutext;
position:absolute;
text-align:left;
font-family: Arial, Helvetica, sans-serif;
font-size: 10pt;
width:120px;
background-color:#FFFFFF;
border:2px outset #000000;
visibility:hidden;
border:2 outset buttonhighlight;
}
</style>
<script>
function $(e){
document.getElementById(e)
}
function seleccionar(obj){
if(obj.nodeName.toLowerCase()=='textarea' || (obj.nodeName.toLowerCase()=='input' && obj.type=='text')){
obj.select();
return;
}
if (window.getSelection) {
var sel = window.getSelection();
var range = document.createRange();
range.selectNodeContents(obj);
sel.removeAllRanges();
sel.addRange(range);
}
else if (document.selection) {
document.selection.empty();
var range = document.body.createTextRange();
range.moveToElementText(obj);
range.select();
}
}
function ver_menu_tcs(e){
var rightedge=ie5? document.body.clientWidth-event.clientX : window.innerWidth-e.clientX;
var bottomedge=ie5? document.body.clientHeight-event.clientY : window.innerHeight-e.clientY;
if (rightedge<menuobj.offsetWidth)
menuobj.style.left=ie5? document.body.scrollLeft+event.clientX-menuobj.offsetWidth : window.pageXOffset+e.clientX-menuobj.offsetWidth;
else
menuobj.style.left=ie5? document.body.scrollLeft+event.clientX : window.pageXOffset+e.clientX;
if (bottomedge<menuobj.offsetHeight)
menuobj.style.top=ie5? document.body.scrollTop+event.clientY-menuobj.offsetHeight : window.pageYOffset+e.clientY-menuobj.offsetHeight;
else
menuobj.style.top=ie5? document.body.scrollTop+event.clientY : window.pageYOffset+e.clientY;
menuobj.style.visibility="visible";
return false;
}
function ocultar_menu_s(){
menuobj.style.visibility="hidden";
}
function selec_item(e){
var firingobj=ie5? event.srcElement : e.target;
if (firingobj.className=="menuitems"||ns6&&firingobj.parentNode.className=="menuitems"){
if (ns6&&firingobj.parentNode.className=="menuitems") firingobj=firingobj.parentNode; //up one node
firingobj.style.backgroundColor="highlight";
firingobj.style.color="white";
if (display_url==1)
window.status=event.srcElement.des;
}
}
function des_delect_item(e){
var firingobj=ie5? event.srcElement : e.target;
if (firingobj.className=="menuitems"||ns6&&firingobj.parentNode.className=="menuitems"){
if (ns6&&firingobj.parentNode.className=="menuitems") firingobj=firingobj.parentNode; //up one node
firingobj.style.backgroundColor="";
firingobj.style.color="black";
window.status='';
}
}
function ir_direct_tc(e){
var firingobj=ie5? event.srcElement : e.target;
if (firingobj.className=="menuitems"||ns6&&firingobj.parentNode.className=="menuitems"){
if (ns6&&firingobj.parentNode.className=="menuitems") firingobj=firingobj.parentNode;
if (firingobj.getAttribute("target"))
window.open(firingobj.getAttribute("url"),firingobj.getAttribute("target"));
else
window.location=firingobj.getAttribute("url");
}
}
function ver_menu(e,m){
var display_url=m;
var ie5=document.all&&document.getElementById;
var ns6=document.getElementById&&!document.all;
if (ie5||ns6)
var menuobj=document.getElementById(e);
if (document.all && window.print) {
document.oncontextmenu = ver_menu_tcs(event);
}
}
if (document.all && window.print) {
document.body.onclick = ocultar_menu_s();
}
</script>
<div id="menu" class="skin" onMouseover="selec_item(event)" onMouseout="des_delect_item(event)" onClick="ir_direct_tc(event)" style="display:none;">
<div class="menuitems" url="javascript:seleccionar($('div1'));" des="Seleccionar div.">Seleccionar div </div>
</div>
<div id="div1" oncontextmenu='ver_menu("menu",1);return false;'>Este es un texto de prueba. Presiona clic derecho para desplegar el menu. </div>
Pero no anda.
Gracias
Salu2