Логин:

Пароль:

Форумы
Общие вопросы
Document Object Model
Обсуждаем конференцию
Web Usability (test)

Общие вопросы

Секретная кнопка

> Нужно сделать на странице "секретную кнопку", которую обычные люди не могли бы найти.
> Народ сидит в зале, все на одной странице (тестирование). Задача - нужно делать протокол в случае нештатной ситуации. Подходит спец. человек, нажимает на "секретную кнопку" и скрипт генерирует протокольное сообщение (на сервер).

Если честно, то мне достаточно сложно понять что такое "генерирует протокольное сообщение", поэтому примем, что ты в курсе что это такое будет.

перехватить событие "нажата клавиша" для всего документа - легко:

if (document.all) {
document.onkeypress = имя_твоей_функции;
} else (if document.implementation && document.implementation.hasFeature('Events','2.0') {
document.addEventListener("keypress", имя_твоей_функции, false);
}

потом, нужно учесть, что клавишы в MSIE и Mozilla определяются по-разному, поэтому нужно передать твоей функции (e) (кстати в NN4 тоже должно сработать).

Пример функции, которая отслеживает нажатие Ctrl-Z (стандартное UnDo - на маке - Cmd-Z):

function имя_твоей_функции(e) {
if (document.all) {
if (event.ctrlKey && event.keyCode == 26) {
// Делаеш, что хочеш
}
} else {
CtrlKey = (navigator.userAgent.indexOf('Mac') >= 0)? e.metaKey : e.ctrlKey;
if (CtrlKey && e.which == 122) {
// Делаеш, что хочеш
e.preventDefault();
}
}
}

... нда, наверное пора дописать и опубликовать статью про события ;-)
СообщениеАвторДата
Улитка09.08.2001 11:38
Leechy09.08.2001 20:15
Улитка10.08.2001 11:22
gosha09.08.2001 16:22