Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.69/32: Рейтинг темы: голосов - 32, средняя оценка - 4.69
БТР - мой друг
332 / 276 / 47
Регистрация: 07.01.2010
Сообщений: 1,932
1

Как узнать, какая кнопка нажата?

10.08.2010, 20:07. Показов 6697. Ответов 4
Метки нет (Все метки)

Вот код:
Javascript
1
2
3
4
5
if (!e.which && e.button) {
  if (e.button & 1) e.which = 1
  else if (e.button & 4) e.which = 2
  else if (e.button & 2) e.which = 3
}
А что он означает? Тоесть если броузер IE, то он приравнивает свойства which event, как будто это другой W3C-броузер. Но не могли бы вы написать весь код, так как при нажатии правой кнопкой, высвечивается меню броузера. event.preventDefault() не помогает. Вообще как толком передать в функцию event и его там использовать при том, что функция вызывается через атрибут тэга?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.08.2010, 20:07
Ответы с готовыми решениями:

Как узнать, какая кнопка формы нажата?
У меня динамически формируются кнопки с такими именами 1,2,3 и т.д. Сколько их будет, я не знаю. По...

Как отследить, какая клавиша была нажата?
собственно сабж. нужно проверить какая клавиша была нажата и принять решение, если значение...

Как узнать нажата ли кнопка?
...

Как в jQuery вставить проверку нажата ли кнопка (submit) формы?
Доброго времени суток! Подскажите пожалуйста как в jQuery поставить проверку нажата ли submit...

4
13199 / 6586 / 1040
Регистрация: 10.01.2008
Сообщений: 15,069
10.08.2010, 20:13 2
В современных браузерах есть настройки безопасности, а там галка типа "Разрешать JS контролировать правую кнопку мыши". Если не разрешено, то браузер "не сознается", что правая была нажата вообще.
0
БТР - мой друг
332 / 276 / 47
Регистрация: 07.01.2010
Сообщений: 1,932
12.08.2010, 07:52  [ТС] 3
А как убрать эту опцию хоть в каком-то броузере?

Добавлено через 26 секунд
А если опция отключена, то preventDefault не надо писать?

Добавлено через 5 часов 52 минуты
Вот код:
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
function b(use_event) {
    use_event=use_event||window.event
    if (!use_event.which && use_event.button) {
        if (use_event.button & 1) {use_event.which=0}
        if (use_event.button & 4) {use_event.which=1}
        if (use_event.button & 2) {use_event.which=2}
    }
    function f() {
        return 5;
    }
    alert(use_event.which)
}
Но почему-то IE выводит undefined.

Добавлено через 17 минут
Функция f() тут не при чём, забыл удалить перед копированием. Кст., на сайте, где я читаю статьи, меню не появляется при нажатии правой кнопки, а выполняется функция! Каким образом это сделано?

Добавлено через 17 часов 21 минуту
Народ, пожалуйста ответьте. Пока не узнаю этого, дальше не смогу javascript изучать, т. к. это основы.
0
Nikitos_Belov
25.11.2010, 18:32 4
узнать код клавиши event.keyCode
работает везде! Даже менюшку на SE когда писал ставил именно его на отлов аски
.... туплю.... реч идет о правой мышки! Виноват исправлюсь! Уже ищу ответ, дабы не флудером выглядеть....
588 / 95 / 6
Регистрация: 24.01.2009
Сообщений: 379
27.11.2010, 03:19 5
Hagrael, вот ссылка по теме кнопок.
Цитата Сообщение от Hagrael Посмотреть сообщение
Но почему-то IE выводит undefined.
У ИЕ вообще такого свойства нет: у него используется use_event.button.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.11.2010, 03:19

Как узнать какая кнопка нажата?
У меня есть 20 кнопок обработчик события Onclick у всех одинаковый, мне необходимо поменять Caption...

Как узнать какая кнопка была нажата?
такой код: HMTL <form action='myasp.asp' method=post name='form1'> <input type=submit...

Как узнать какая кнопка нажата на клавиатуре
Добрый день! Задача такова: нужно узнать какая кнопка нажата на клавиатуре, но это не суть, это...

Как узнать, какая кнопка из массива QPushButton нажата?
Нужно установить коннект так, чтобы вызывался слот для определенной кнопки. Вот код (да, я делаю...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.