Странности в поведении Microsoft Internet Explorer

HTML, CSS, DOM, XML, AJAX, (LW)AMP и т.д. CMS и веб-форумы, веб-дизайн и веб-программирование, специализированные языки и технологии.

Модератор: xdsl

Странности в поведении Microsoft Internet Explorer

Сообщение xdsl 11 май 2009, 13:20

Очередная странность, обнаруженная на медиалекции со студентами 4-го курса. Рассматриваем событие ondblclick в браузере. Следуя логике, должны получить цепочку onmousedown, onmouseup, onclick, onmousedown, onmouseup, onclick, ondblclick:
Код: Выделить всё
<p
onmousedown="out.innerHTML+='MD '"
onmouseup="out.innerHTML+='MU '"
onclick="out.innerHTML+='C '"
ondblclick="out.innerHTML+='DC '"
>Click Me!</p>
<div id="out"></div>

В mozilla firefox двойной щелчок дает ожидаемую последовательность: MD MU C MD MU C DC
В MSIE получаем: MD MU C MU DC

Лично я абсолютно не понимаю, в чем смысл такой обработки ondblclick, объясните, плиз, сакральный смысл.
xdsl
 
Сообщения: 1236
Зарегистрирован: 09 дек 2008, 05:16
Откуда: ВЦ ШГПИ
Полное имя: Слинкин Д.А.

Re: Странности в поведении Microsoft Internet Explorer

Сообщение alekam 26 май 2009, 22:54

вполне логичное поведение. второй раз вместо клика происходит даблклик.
alekam
 
Сообщения: 46
Зарегистрирован: 23 дек 2008, 14:36
Полное имя: A.K.

Re: Странности в поведении Microsoft Internet Explorer

Сообщение xdsl 28 май 2009, 10:01

Вот, что мне неясно: MD MU C MU DC
Зачем второй UP?
xdsl
 
Сообщения: 1236
Зарегистрирован: 09 дек 2008, 05:16
Откуда: ВЦ ШГПИ
Полное имя: Слинкин Д.А.

Re: Странности в поведении Microsoft Internet Explorer

Сообщение alekam 17 июл 2009, 14:11

Второй раз MD не произошло вот это странно, а не то что второе MU было. Второй раз MU происходит потому, что кнопка отпускается 2 раза. MD второй раз не происходит, т.к. фактически ее нажали 1 раз - первый раз нажали и отпустили не до конца. Очевидно как-то так.

Сделано это скорее всего для drag'n'drop и возможности реализации навороченных пользовательских интерфейсов (Rich Web UI). Например, можно кликнуть один раз на кнопку, она заменится на слайдер, на который надо кликнуть и который можно двигать мышкой пока кнопку не отпустишь (пока не произойдет второй MU). Как-то так.

Причем в MSDN пишут, что такое поведение у IE начиная с 4ой версии. Если вспомнить историю с появлением AJAX, то вполне можно предположить, что это было необходимо для того же веб-клиента для эксченьжъ сервера или чего-нибудь подобного. К сожалению не в курсе как проходит обработка двойного нажатия мыши в самой ОС Windows, возможно решение позаимствовано оттуда.
alekam
 
Сообщения: 46
Зарегистрирован: 23 дек 2008, 14:36
Полное имя: A.K.


Вернуться в Web-технологии

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2

cron