Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> e.shiftKey || e.altKey || e.Q, зажата ли кнопка q на клавиатуре 
:(
    Опции темы
snake12
Дата 19.6.2008, 11:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 23.5.2007

Репутация: нет
Всего: нет



   

Есть таблица с присобаченным eventом onclick

if(e.type=='click') то я закрашиваю строку
при этом все остальные раскрашиваю.

Если при этом ещё нажат шифт то я остальные я не раскрашиваю.
Код


table.onclick= function(e) {
...
if(e.type=='click')
{
if (!e.shiftKey || WHAT is here ) disselect_all();
highlight(row.id);
}
}



Нужно сделать так, чтобы при нажатой клавише Q на клавиатуре остальные строки не омечялись.
Заранее спасибо.

ps. обратите внимание на if(e.type=='click') и то что к таблице этой привязаны и другие события, типа mouseover
PM MAIL   Вверх
dsCode
Дата 19.6.2008, 21:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 565
Регистрация: 8.9.2007
Где: Saint-Petersburg

Репутация: 19
Всего: 26



Цитата(snake12 @  19.6.2008,  11:28 Найти цитируемый пост)
ps. обратите внимание на if(e.type=='click')

Зачем? Вы ж и так находитесь в table.onclick= function(e) { (ну, если, только вы не вызываете этот метод в каком-то другом контексте, но это вряд ли; поэтому проверка типа события здесь не нужна)

Цитата(snake12 @  19.6.2008,  11:28 Найти цитируемый пост)
 WHAT is here

e.keyCode (узнайте код символа "Q") / e.which (в зависимости от браузера)


--------------------
the .code inside
:my music
PM MAIL WWW ICQ Jabber   Вверх
snake12
Дата 20.6.2008, 10:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 23.5.2007

Репутация: нет
Всего: нет



ps. обратите внимание на if(e.type=='click') и то что к таблице этой привязаны и другие события, типа mouseover 

и выглядит это так
tbl.onclick = tbl.onmouseover = tbl.onkeyup = .. = function(e)

И для того чтобы не писать 10 функций, я в одной проверяю тип события.

PM MAIL   Вверх
dsCode
Дата 20.6.2008, 11:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 565
Регистрация: 8.9.2007
Где: Saint-Petersburg

Репутация: 19
Всего: 26



snake12, и что дальше? =) Ну проверяйте - попадете в нужный блок (событие нажатия клавиши) и проверите "e.keyCode (узнайте код символа "Q") / e.which (в зависимости от браузера)".


--------------------
the .code inside
:my music
PM MAIL WWW ICQ Jabber   Вверх
snake12
Дата 20.6.2008, 12:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 23.5.2007

Репутация: нет
Всего: нет



А дальше я ещё пока не сделал, потому не ответил на остальное
PM MAIL   Вверх
snake12
Дата 20.6.2008, 16:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 23.5.2007

Репутация: нет
Всего: нет



Код

var keyboard = new Array();
document.onkeydown = document.onkeyup = function(e) 
{
    if (window.event) keycode = window.event.keyCode;
    else if (e) keycode = e.which;
    if (!e) e = window.event;
    var Lpos = keyboard.inArray(String.fromCharCode(keycode).toLowerCase());

    if(keycode!=16 && keycode!=17 && keycode!=18 && e.type=='keydown' && Lpos===false)
        keyboard[keyboard.length] = String.fromCharCode(keycode).toLowerCase(); 
    
    if(keycode!=16 && keycode!=17 && keycode!=18 && e.type=='keyup' && Lpos !==false)
        keyboard.splice(Lpos,1);

}

Array.prototype.inArray = function (value)
{
    var i;
    for (i=0; i < this.length; i++) 
        if (this[i] == value) return i;
    return false;
};


в массиве keybaord находятся клавиши нажатые в данный момент.
В нужном месте проверяю если есть клавиша в этом массиве
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0546 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.