Замена контекстного меню другой функцией

TPABKA

Новичок
Замена контекстного меню другой функцией

Помогите сделать так, чтобы при нажатии правой кнопки мыши в ячейке таблицы вызывалась определенная функция, а контекстное меню не всплывало.
 

dnes

Новичок
Вот с этим поиграйся (IE):

PHP:
function right()
{
if (event.button == 2 || event.button == 3)
{
alert("Do not use the right click of your mouse please.\n\nThanks!");
return false;
}
return true;
}
document.onmousedown=right; document.onmouseup=right;
 

TPABKA

Новичок
моя функция вызывается из разных мест документа(из каждой ячейки) с параметрами , которые генерируются php вместе со страницей, поэтому не могу использовать document.onmousedown=right;
в ячейках стоит onmouseup и onmousedown = "look(n,ip)"
и в зависимости от нажатой кнопки мыши выполняются разные действия.
Сейчас функция работает, но всплывает меню.
return false; не помогает.
 

Crazy

Developer
dnes, конкретно для IE есть способ перехватывать не нажатие кнопки мыши, а именно показ контекстного меню. Откройте для себя MSDN...
 

TPABKA

Новичок
А почему сейчас вызывается меню, ведь прописано return false; ?
 

jeepers creeper

Guest
return false надо ставить сразу после вызова функции
ПР->> onmousedown = "look(n,ip);return false ;"
 

dnes

Новичок
Да-с, облажался я маленько :-(

Кстати, в Опере, имхо, к этому безобразию (т.е. к правой кнопке) вообще не подобраться. Да оно и ни к чему, собственно :)
 

TPABKA

Новичок
Автор оригинала: jeepers creeper
return false надо ставить сразу после вызова функции
ПР->> onmousedown = "look(n,ip);return false ;"
так и сделано, но меню всеравно всплывает...

вот сам скрипт
<script language="JavaScript">
function look(n,ip){
if (event.button==1){document.location.href="#"+n;return false;} else { document.location.href="modules.php?name=dossie&page=look&ip="+ip; }
}
</script>

а php скрипте
<td onclick='look("<? echo $row['nickname'].'", "'.$row['ip'];?>"); return false;'>...</td>
 

kruglov

Новичок
Дорогая Травка, а почему вы новичков слушаете, а остальных - нет? Вы, наверное, не хотите решить свою проблему?
 

akxxiv

Новичок
Кстати, сразу вопрос. Почему.
PHP:
<a href="#" OnContextMenu="alert('Хрен'); return false;">dfdfdffdfdfdfdfdfdfdfdfdf</a>
Работает.

--------------------------------------------------------

PHP:
<script>
window.onload = function()
{	
	var a = document.getElementsByTagName("a");
	for(var i=0; i<a.length; i++)
	{
		a[i].onclick = function()
		{
			alert ("Хрен"); return false;
		}
	}
}
</script>
<body>

<a href="#">dfdfdffdfdfdfdfdfdfdfdfdf</a>

</body>
Тоже работает!

--------------------------------------------------------

А вот если сделать онконтекстменю вот так:
PHP:
<script>
window.onload = function()
{	
	var a = document.getElementsByTagName("a");
	for(var i=0; i<a.length; i++)
	{
		a[i].oncontextmenu = function()
		{
			alert ("Хрен"); return false;
		}
	}
}
</script>
<body>

<a href="#">dfdfdffdfdfdfdfdfdfdfdfdf</a>
</body>
Уже не работает???

-~{}~ 26.09.05 15:46:

Вопрос снят. Указал не тот DOCTYPE
 

MuXaJIbI41981

Новичок
спасибо

-~{}~ 17.04.07 12:11:

странная ситуация ..... на работе работает а дома нет .... хотя версия оперы одна и та же
 
Сверху