Пусть будет темка на всякий случай
Вопросы по программированию)
Сообщений 1 страница 15 из 15
Поделиться22011-01-13 15:56:51
У меня такой вопрос: в 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)
Поделиться32011-01-13 16:55:00
onkeydown="checkKey(event.keyCode)"
Кажется в коде эта функция срабатывает на значение 13:
function checkKey(keyCode) {
if (keyCode == 13 || !manualEnter) stopTimer(keyCode);
}
А вообще наверно правильней и проще не передавать 32 и 13, а изменить в функциях значения на нужные, возвращаемые на события мыши.
Странно что работает на левую кнопку и не работает на среднюю. Может левая как раз возвращает нужное значение.
Поделиться42011-01-13 17:07:44
У тебя работает? Я заменил, у меня всё-равно работает также. Я думаю тут дело в том, что браузер просто по своему их обрабатывает, у него приоритет. Например почему всё это не работает на правую кнопку? Потому что браузер на правую кнопку открывает меню. Надо наверное это отключить, чтобы полностью всё обрабатывала страничка.
изменить в функциях значения на нужные, возвращаемые на события мыши
Какое значение возвращает средняя кнопка мыши?
Поделиться52011-01-13 17:25:11
Какое значение возвращает средняя кнопка мыши?
Хороший вопрос. Как говорит google у кнопок есть виртуальные 16-е коды, но скорее надо работать не через коды.
Вот глянь тут: http://forum.hackersoft.ru/showthread.php?t=953
и тут: http://javascript.ru/tutorial/events/mouse
Поделиться62011-01-13 17:54:56
Хороший вопрос
Естественно
Вот глянь тут: http://forum.hackersoft.ru/showthread.php?t=953
и тут: http://javascript.ru/tutorial/events/mouse
Уже смотрел.
Вопрос остаётся открытым. Думаю задача понятна. Может кто-нибудь сделать как надо и залить куда-нибудь?
Поделиться72011-01-13 22:02:32
Вопрос остаётся открытым. Думаю задача понятна. Может кто-нибудь сделать как надо и залить куда-нибудь?
Сейчас экзамены. Потом может займусь, если ты не решишь сам.
Поделиться82011-01-14 11:24:07
Вопрос остаётся открытым. Думаю задача понятна. Может кто-нибудь сделать как надо и залить куда-нибудь?
обработчик события 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; } }
Поделиться92011-01-14 11:42:01
Исправил как написал starmonkey. Получилось всё-равно не то. Левая кнопка не реагирует и это хорошо. Но средняя останавливает таймер по отжатию.
Пробовал в Chrome и Firefox.
Отредактировано Анатолий Ким (2011-01-14 11:47:51)
Поделиться102011-01-14 11:58:54
Исправил как написал 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); }
Поделиться112011-01-14 12:20:29
Всем спасибо, всё работает. И работало бы, начиная с первого сообщения, если бы я догадался отключить easystroke (жесты мышкой), которые были настроены на среднюю кнопку.
Отредактировано Анатолий Ким (2011-01-14 12:38:04)
Поделиться122011-02-03 20:34:44
Толя, насчет твоего генератора:
1) хотелось чтобы где-нибудь справа был пример того, что надо вводить и может даже результат
2) сделай чтобы не надо было вводить пробел в конце (сейчас где-то надо, а где-то не надо)
Поделиться132011-02-05 21:10:48
сделай чтобы не надо было вводить пробел в конце
Вот исходники. Исправь и я залью исправленную версию.
хотелось чтобы где-нибудь справа был пример того, что надо вводить и может даже результат
Была такая мысль. Это смотрится неэстетично. Могу ссылку добавить на это сообщение.
Поделиться142011-02-06 00:48:41
Украинский сайт поддерживает только php? Как насчет asp.net? Если нет перепишу твой скрипт.
Поделиться152011-02-06 11:14:14
asp.net не поддерживает. Но ты можешь найти бесплатный хостинг и туда залить.