Criar menu de contexto

Como criar um menu de contexto ao clicar com o botão direito do mouse:

Leia mais...
Criar title com quebra de linha

Bom pessoal, o atributo title de qualquer elemento html não suporta quebra de linha nem formatação, o que se pode fazer é improvisar usando css.

Leia mais...
Adicione o PageRank no seu site

Para calcular o PageRank do seu site, basta inserir as tags :

<a href= 'http://www.fabiopaiva.com/?option=com_content&view=article&id=105:adicione-o-pagerank-no-seu-site&catid=45&Itemid=109?url=www.seusite.com.br' target="_blank">
<img src="http://www.fabiopaiva.com/rank.php?url=www.seusite.com.br" alt="PageRank" border="0" />
</a>
Leia mais...
Criar tabela dinâmica

No tutorial seguinte veremos como criar tabelas dinamicamente usando DOM - Document Object Model.
As tabela dinâmicas são bem úteis na criação de sistemas web como por exemplo na inserção de dados em uma grade.

Leia mais...
Criar menu de contexto Criar PDF Versão para impressão Enviar por E-mail

Como criar um menu de contexto ao clicar com o botão direito do mouse:

Tente clicar com o botão direito.

document.oncontextmenu =criar_menu_contexto;
document.body.onmousedown = function (){remover_menu_contexto();}

function criar_menu_contexto(e){
var links = new Array(
{"nome":"teste1","link":"#link1"},
{"nome":"teste2","link":"#link2"},
{"nome":"teste3","link":"#link3"},
{"nome":"teste4","link":"#link4"},
{"nome":"teste5","link":"#link5"},
{"nome":"teste6","link":"#link6"}
)

//excluir o menu de contexto caso já tenha sido criado
remover_menu_contexto();

//pegar as coordenadas do mouse
var x = pega_coordenadas_x(e);
var y = pega_coordenadas_y(e);
//criar o menu de contexto
var menu = document.createElement("div");
var ul = document.createElement("ul");
for(i=0;i<links.length;i++){
var li = document.createElement("li");
var link = document.createElement("a");
var nome = document.createTextNode(links[i].nome);
link.href=links[i].link;
link.appendChild(nome);
li.appendChild(link);
ul.appendChild(li);
}       
menu.appendChild(ul);   
menu.style.cssText = "position:absolute; top:"+y+"px; left:"+x+"px; background-color:#FFFFCC; border:1px solid #CCCCCC; padding:5px;";
menu.id="menu_de_contexto";
document.body.appendChild(menu);
return false;
}
function remover_menu_contexto(){
if (menu = document.getElementById("menu_de_contexto"))
document.body.removeChild(menu);
}

function pega_coordenadas_x(e){
if (!e) var e = window.event;
if (e.pageX || e.pageY)     {
posx = e.pageX;
posy = e.pageY;
}
else if (e.clientX || e.clientY)     {
posx = e.clientX + document.body.scrollLeft
+ document.documentElement.scrollLeft;
posy = e.clientY + document.body.scrollTop
+ document.documentElement.scrollTop;
}

return (posx);
}   
function pega_coordenadas_y(e){
if (!e) var e = window.event;
if (e.pageX || e.pageY)     {
posx = e.pageX;
posy = e.pageY;
}
else if (e.clientX || e.clientY)     {
posx = e.clientX + document.body.scrollLeft
+ document.documentElement.scrollLeft;
posy = e.clientY + document.body.scrollTop
+ document.documentElement.scrollTop;
}
return (posy);
}

Comments
Add New Search
Write comment
Name:
Email:
 
Website:
Title:
UBBCode:
[b] [i] [u] [url] [quote] [code] [img] 
 
 
:angry::0:confused::cheer:B):evil::silly::dry::lol::kiss::D:pinch:
:(:shock::X:side::):P:unsure::woohoo::huh::whistle:;):s
:!::?::idea::arrow:
 
Please input the anti-spam code that you can read in the image.

3.26 Copyright (C) 2008 Compojoom.com / Copyright (C) 2007 Alain Georgette / Copyright (C) 2006 Frantisek Hliva. All rights reserved."

 
Ajax e PHP
Firefox
CSS e XHTML
Yslow
JavaScript
Joomla