Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 09.11.2013, 18:33
Аватар для timedo
Аспирант
Отправить личное сообщение для timedo Посмотреть профиль Найти все сообщения от timedo
 
Регистрация: 22.05.2013
Сообщений: 38

PageDown + Enter, сочетание клавиш
Здравствуйте. Хочу что б при нажатии pageDown(стрелочка вниз) + Enter выводило окошко hello, только у меня не работает.
var DOWN = 40;
    var ENTER = 13;
 
    document.onKeydown = function(e){
        e = e || event;
        if (e.keyCode == 27) {
            cancel();
            return false;
        }
 
        if(e.DOWN && e.ENTER){
            alert("hello");
        }
Ответить с цитированием
  #2 (permalink)  
Старый 09.11.2013, 20:06
Профессор
Отправить личное сообщение для Rise Посмотреть профиль Найти все сообщения от Rise
 
Регистрация: 07.11.2013
Сообщений: 912

function runOnKeys(func) {
	var codes = [].slice.call(arguments, 1);
	var pressed = {};
	document.onkeydown = function(e) {
		e = e || window.event;
		pressed[e.keyCode] = true;
		for(var i=0; i<codes.length; i++) {
			if (!pressed[codes[i]]) {
				return;
			}
		}
		pressed = {};
		func();
	};
	document.onkeyup = function(e) {
		e = e || window.event;
		delete pressed[e.keyCode];
	};
}
runOnKeys( function() { alert("Привет!") }, 40, 13 );
Ответить с цитированием
  #3 (permalink)  
Старый 09.11.2013, 20:32
Аватар для timedo
Аспирант
Отправить личное сообщение для timedo Посмотреть профиль Найти все сообщения от timedo
 
Регистрация: 22.05.2013
Сообщений: 38

Rise, спасибо огромное за помощь! Я только начал изучать js, буду очень благодарен если вы объясните несколько строк:

function runOnKeys(func) {
	var codes = [].slice.call(arguments, 1); // что делаем тут?
	var pressed = {}; //создаем массив
	document.onkeydown = function(e) {
		e = e || window.event; 
		pressed[e.keyCode] = true; //что тут?
		for(var i=0; i<codes.length; i++) { //перебираем массив 
			if (!pressed[codes[i]]) {
				return;
			}
		}
		pressed = {}; //?
		func();//рекурсия?
	};
	document.onkeyup = function(e) {
		e = e || window.event;
		delete pressed[e.keyCode];
	};
}
runOnKeys( function() { alert("Привет!") }, 40, 13 );
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как создать event, эмулирующий enter Artanis Events/DOM/Window 7 16.07.2019 06:40
Как отделить нажатие кл. Enter в поле INPUT от нажатия Enter в выпадающем списке? Маэстро Events/DOM/Window 7 18.07.2012 09:11
сочетание клавиш z700i Общие вопросы Javascript 2 13.10.2011 00:20
сочетание клавиш ctrl+Z розовый слоник Общие вопросы Javascript 3 15.03.2011 18:29
Обработка кнопки ENTER в визуальном редакторе intr Events/DOM/Window 1 07.08.2008 18:08