Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Правая кнопка мыши (https://javascript.ru/forum/misc/24924-pravaya-knopka-myshi.html)

(Sandr) 19.01.2012 04:27

Правая кнопка мыши
 
Всем привет. Подскажите, как сделать, чтобы при нажатии на правую кнопку мыши в браузерах не вызывалось "подменю"(или как там его) ?
Само событие я отловил, но вот меню убрать не получается..

Даша Соколова 19.01.2012 04:28

верни обработчиком false
а вообще правая кнопка мышки отслеживается не через oncontextmenu

(Sandr) 19.01.2012 05:11

Даша Соколова, возвращаю фэлс, ноль эффекта.

<html>
	<head>
		<title>Аллоха!</title>
	</head>
	<script>
	function blockMenu(evt) 	
    { 		
        evt = (evt) ? evt : event; 		

		// Свойство button во всех браузерах имеет 
		// различные значения для разных кнопок, 
		// но номер второй (правой) кнопки всегда равен 2.		

        if(evt.button == 2) 		
        { 		    
			document.getElementById("logger").innerHTML = 
				"Нажата правая кнопка мыши";	
        }
		return false;		
    }    
    document.onmousedown = function()  { blockMenu(); return false; };
	</script>
	<body>
	<div id="logger"></div>
	</body>
</html>


"а вообще правая кнопка мышки отслеживается не через oncontextmenu", я не говорил, что его использую.

zebra 19.01.2012 05:15

Нужно именно на contextmenu повесить функцию с false

Даша Соколова 19.01.2012 06:08

Цитата:

Сообщение от (Sandr)
я не говорил, что его использую.

а я сделала такое предположение прекрасно и без твоих слов.

GuardCat 19.01.2012 13:44

Цитата:

Сообщение от Даша Соколова
а вообще правая кнопка мышки отслеживается не через oncontextmenu

Так return false работает конкретно по отношению к тому событию, которое вызвало обработчик с ним. Так, например, работает:
<script>
  function blockMenu() {        
    document.getElementById("logger").innerHTML = "Нажата правая кнопка мыши";  
  }
  document.oncontextmenu = function()  { blockMenu(); return false; };
  </script>
  <body>
  <div id="logger"></div>
</body>

observer 19.01.2012 13:49

Цитата:

Сообщение от GuardCat (Сообщение 151417)
Так ретурн фэлс...

Что за мода пошла... Бирминчуем?

Тогда уж, "ритёрн фолс".

GuardCat 19.01.2012 17:09

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

(Sandr) 19.01.2012 20:41

zebra, GuardCat, спасибо)


Часовой пояс GMT +3, время: 06:45.