Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Запрет браузерам выделять элемент таблицы по CTRL+Left button
 
 автор: pan   (19.12.2005 в 11:02)   письмо автору
 
 

Возможен ли subj в принципе ?

Ситуация следующая : для элемента tr таблицы на событие onClick повешена js функция,
меняющая стиль отображения строки. В тот момент, когда возникла необходимость выделить несколько строк таблицы выяснилась одна неприятная особенность : при нажатии CTRL+ левая кнопка мыши (метод выделения нескольких строк скажем в multiple select-ах) раньше всех
на событие реагирует сам браузер и ставит выделение на td элемент таблицы. Причем метод
выделения подбирается разный для разных типов браузера. Хуже того,
принудительное задание стиля для td (с помощью скажем еще одного обработчика
того же события) эффекта не даёт, пока браузер не решит, что пора снять выделение со всех
прежде отмеченных элементов.

Собственно вопрос : на каком уровне можно перехватить событие CTRL+ левая кнопка мыши
так, чтобы описанный эффект не прявлялся ?

   
 
 автор: 12345   (19.12.2005 в 12:56)   письмо автору
 
   для: pan   (19.12.2005 в 11:02)
 

Я всякие встроенные реакции на кнопки перехватывал на onKeyDown. (стрелки, бекспейс, PgDn и пробел)

   
 
 автор: pan   (19.12.2005 в 14:09)   письмо автору
 
   для: 12345   (19.12.2005 в 12:56)
 

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

   
 
 автор: 12345   (19.12.2005 в 14:46)   письмо автору
 
   для: 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>
Для Мозилл надо делать по-своему.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования