|
|
|
| Возможен ли subj в принципе ?
Ситуация следующая : для элемента tr таблицы на событие onClick повешена js функция,
меняющая стиль отображения строки. В тот момент, когда возникла необходимость выделить несколько строк таблицы выяснилась одна неприятная особенность : при нажатии CTRL+ левая кнопка мыши (метод выделения нескольких строк скажем в multiple select-ах) раньше всех
на событие реагирует сам браузер и ставит выделение на td элемент таблицы. Причем метод
выделения подбирается разный для разных типов браузера. Хуже того,
принудительное задание стиля для td (с помощью скажем еще одного обработчика
того же события) эффекта не даёт, пока браузер не решит, что пора снять выделение со всех
прежде отмеченных элементов.
Собственно вопрос : на каком уровне можно перехватить событие CTRL+ левая кнопка мыши
так, чтобы описанный эффект не прявлялся ? | |
|
|
|
|
|
|
|
для: pan
(19.12.2005 в 11:02)
| | Я всякие встроенные реакции на кнопки перехватывал на onKeyDown. (стрелки, бекспейс, PgDn и пробел) | |
|
|
|
|
|
|
|
для: 12345
(19.12.2005 в 12:56)
| | А можно с кусочком кода.
особенно там, где запрещается распространение события дальше по цепочке
объектов. | |
|
|
|
|
|
|
|
для: pan
(19.12.2005 в 14:09)
| |
document.onkeydown=function(){if(event.keyCode==17)alert(event.keyCode);}
|
Для перехвата мыши с Ctrl должен работать этот код:
document.onmousedown=function(){if(event.keyCode==17)event.returnValue=!1;}
|
Но мышь не перехватывает.
Тогда сделаем сложнее:
<script>d=document;
d.onclick=function(){if(event.ctrlKey){tR=d.body.createTextRange();
tR.moveToPoint(event.x, event.y);tR.select();}
}
</script>
| Для Мозилл надо делать по-своему. | |
|
|
|