Rubiks Club Беларусь

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Rubiks Club Беларусь » БОЛТАЛКА И ОФТОПИЛКА » Вопросы по программированию)


Вопросы по программированию)

Сообщений 1 страница 15 из 15

1

Пусть будет темка на всякий случай

0

2

У меня такой вопрос: в qqTimer есть такая строчка, которая передаёт всё в функцию startTimer: onload="initialize()" onkeyup="startTimer(event.keyCode);" onkeydown="checkKey(event.keyCode);"

Когда функция startTimer получает keyCode = 32, то таймер включается/выключается.

Мне надо, чтобы он реагировал не на пробел, а на среднюю кнопку мыши. Как это сделать?

Заменил эту строку на
onload="initialize()" onmouseup="startTimer(event.keyCode=32);" onmousedown="checkKey(event.keyCode=32);"

Всё работает как надо с левой кнопкой (старт по отжатию, стоп по нажатию). При этом на среднюю кнопку оно тоже реагирует, но не так как надо (старт по отжатию, стоп по отжатию). Как сделать, чтобы оно реагировало только на среднюю кнопку и как надо?

Язык: javascript.

PS Это надо для самодельного таймера.

Отредактировано Анатолий Ким (2011-01-13 15:57:52)

0

3

Анатолий Ким написал(а):

onkeydown="checkKey(event.keyCode)"

Кажется в коде эта функция срабатывает на значение 13:
function checkKey(keyCode) {
if (keyCode == 13 || !manualEnter) stopTimer(keyCode);
}

А вообще наверно правильней и проще не передавать 32 и 13, а изменить в функциях значения на нужные, возвращаемые на события мыши.

Странно что работает на левую кнопку и не работает на среднюю. Может левая как раз возвращает нужное значение.

0

4

У тебя работает? Я заменил, у меня всё-равно работает также. Я думаю тут дело в том, что браузер просто по своему их обрабатывает, у него приоритет. Например почему всё это не работает на правую кнопку? Потому что браузер на правую кнопку открывает меню. Надо наверное это отключить, чтобы полностью всё обрабатывала страничка.

Algreat написал(а):

изменить в функциях значения на нужные, возвращаемые на события мыши

Какое значение возвращает средняя кнопка мыши?

0

5

Анатолий Ким написал(а):

Какое значение возвращает средняя кнопка мыши?

Хороший вопрос. Как говорит google у кнопок есть виртуальные 16-е коды, но скорее надо работать не через коды.

Вот глянь тут: http://forum.hackersoft.ru/showthread.php?t=953
и тут: http://javascript.ru/tutorial/events/mouse

0

6

Algreat написал(а):

Хороший вопрос

Естественно :)

Algreat написал(а):

Вот глянь тут: http://forum.hackersoft.ru/showthread.php?t=953
и тут: http://javascript.ru/tutorial/events/mouse

Уже смотрел.

Вопрос остаётся открытым. Думаю задача понятна. Может кто-нибудь сделать как надо и залить куда-нибудь?

0

7

Анатолий Ким написал(а):

Вопрос остаётся открытым. Думаю задача понятна. Может кто-нибудь сделать как надо и залить куда-нибудь?

Сейчас экзамены. Потом может займусь, если ты не решишь сам.

0

8

Анатолий Ким написал(а):

Вопрос остаётся открытым. Думаю задача понятна. Может кто-нибудь сделать как надо и залить куда-нибудь?

обработчик события onmouseup - mouseStartTimer

Код:
onload="initialize()" onmouseup="mouseStartTimer(event)" onkeyup="startTimer(event.keyCode);" onkeydown="checkKey(event.keyCode);"

код этого обработчика

Код:
function mouseStartTimer(event)
{
	// работает в огненной лисе, опере, хроме;
	// в екплорере event.which будет undefined и придется event.button смотреть
	switch (event.which)
	{
	   case 1:
	      alert ("Left button has been released");
	      break;
	   case 2:
	      //alert ("Middle button has been released");
	      checkKey(32);
	      startTimer(32);
	      break;
	   case 3:
	      alert ("Right button has been released");
	   break;
	}
}

0

9

Исправил как написал starmonkey. Получилось всё-равно не то. Левая кнопка не реагирует и это хорошо. Но средняя останавливает таймер по отжатию.

Пробовал в Chrome и Firefox.

Отредактировано Анатолий Ким (2011-01-14 11:47:51)

0

10

Анатолий Ким написал(а):

Исправил как написал starmonkey. Получилось всё-равно не то. Левая кнопка не реагирует и это хорошо. Но средняя останавливает таймер по отжатию.

млин, а самому подумать никак?

Код:
onload="initialize()" onmouseup="mouseStartTimer(event)" onmousedown="mouseCheckKey(event)" onkeyup="startTimer(event.keyCode);"
Код:
function mouseStartTimer(event)
{
	if(event.which == 2) startTimer(32);
}

function mouseCheckKey(event)
{
	if(event.which == 2) checkKey(32);
}

0

11

Всем спасибо, всё работает. И работало бы, начиная с первого сообщения, если бы я догадался отключить easystroke (жесты мышкой), которые были настроены на среднюю кнопку.

Работающая версия.

Отредактировано Анатолий Ким (2011-01-14 12:38:04)

0

12

Толя, насчет твоего генератора:

1) хотелось чтобы где-нибудь справа был пример того, что надо вводить и может даже результат
2) сделай чтобы не надо было вводить пробел в конце (сейчас где-то надо, а где-то не надо)

0

13

Algreat написал(а):

сделай чтобы не надо было вводить пробел в конце

Вот исходники. Исправь и я залью исправленную версию.

Algreat написал(а):

хотелось чтобы где-нибудь справа был пример того, что надо вводить и может даже результат

Была такая мысль. Это смотрится неэстетично. Могу ссылку добавить на это сообщение.

0

14

Украинский сайт поддерживает только php? Как насчет asp.net? Если нет перепишу твой скрипт.

0

15

asp.net не поддерживает. Но ты можешь найти бесплатный хостинг и туда залить.

0


Вы здесь » Rubiks Club Беларусь » БОЛТАЛКА И ОФТОПИЛКА » Вопросы по программированию)


создать форум