выделение слова двойным щелчком
Как показали опыты, выделение слова двойным щелчком, каким-то образом задаёт необязательно эквивалентный результат тому, когда вы задаете вначале задаете первую позицию выделения (мышкой - 1 щелчок или же курсор здесь уже стоял), а дальше выделяете мышкой ли или с помощью стрелок.
Совпадают результаты только в таких традиционно редактируемых областях как "input" и "textarea". Если скажем подобное попробовать получить на примере "<div contentEditable='true'>", последует облом: выделенной областью будет "точка входа" по двойному щелчку, а вовсе не его результату, то есть выделенному блоку (обычно слову). При виделении для копирования, впрочем это незаметно (похоже, что не сказывается, а может просто не замечали). В чем дело? Можно ли это как-то обойти? |
.Если понятней будет с кодом, то здесь подробнейшие объяснения. Задача простая:добится такого же поведения для "<div contentEditable='true'>" (я о двойном щелчке мыши по слову). Все же никак не пойму, как же это так мышка выделяет, что результаты разные получаются? |
Это defaultAction для браузера. Вы уверены, что хотите переопределить его? Учитывая, что пользователь привыкает к своему юзерагенту и любое отклонение от привычного поведения, пусть и кажущееся удобным, его приведет к повторному преодолению "когнитивного сопротивления"?
|
Такой проблемы для меня, к счастью, не стоит.
Меня интересует именно возможность повесить на конкретный div какой-нибудь обработчик, чтобы он воспроизводил такое же поведение, какое происходит в input и textarea по двойному щелчку. Такое ощущение, что это что-то простое (вроде бы как получить координаты выделения), но я пока хожу вокруг и около. :( |
Что ж…
defaultAction выполняется после всех обработчиков javascript, и отменить его можно, вызвав event.preventDefault (W3C) или event.returnValue = false (MS). Событие click наступает после последовательных mousedown и mouseup над одним и тем же местом на экране (над одним и тем же элементом в HTML5). Событие dblclick — два последовательных клика. event.detail возвращает количество щелчков, т.е, полноценная замена несуществующим tripleclick, quadripleclick и т.п. Дерзайте! |
Часовой пояс GMT +3, время: 21:46. |