Язык DHTML (Dynamic HTML)
Стандартные события
ОБРАТИТЕ ВНИМАНИЕ: события для некоторых HTML элементов , которые описаны здесь поддерживаются некоторыми версиями Netscape и более поздними версиями Internet Explorer Чтобы использовать браузер v4. 0 создавая сценарии, удостовертесь, что ваши потенциальные клиенты используют требуемую версию браузера, или они были перенанаправлены соответственно на нужную страницу.
onclick
Событие
onclick может использоваться, чтобы выполнить функции сценария, когда пользователь нажимает на специфический элемент. Internet Explorer 4.0 поддерживает это событие почти для всех HTML элементов, в то время как Netscape и более ранние версии Internet Explorer поддерживают это только в некотрых элементах (типа links, image map и т.д.). См. порядок событий onmouse* для деталей .ondblclick
Cобытие
ondblclick происходит, когда пользователем осуществляются двойные щелчки на специфическом элементе (почти все элементы для Internet Explorer 4.0). Например, следующая ссылка не отвечает на одиночно нажимание - нормальным способом, но двойное нажатие направляет к новому документу.Это событие для Internet Explorer 4.0 и выше и Netscape 4.0 и выше.
Netscape 3.0 полностью поддерживает onclick событие и , но не поддерживает ondblclick событие, поэтому для пользователей Netscape 3.0 , ссылка будет полностью мертва. Пользователи Internet Explorer 3. 0x получили бы ошибку создания сценария.
<A HREF="other_page.htm" onclick="javascript:return false"ondblclick="self.location.href ='other_page.html'">ссылка</A>
Попробуйте (обратите внимание, что ссылка не будет направлять куда-нибудь, даже на двойном нажатии, но представит сообщение ).
Обратите внимание, что используются системные параметры настройки мыши, чтобы определить различие между одиночным и двойным щелчком.
ondragstart
Иногда, пользователь пытается перетащить элемент, куда-нибудь в другое место. Как простой пример, следующий текст ссылки изменится, когда вы попытаетесь перетащить ссылку.
Попробуйте:
<a HREF="#Eventondragstart" class="ixx" LANGUAGE="VBscript" TITLE="Пример OnDragStart" ID="egOnDragStartLink" OnClick="self.event.returnValue=false" TARGET="HTMLib_content">Drag me</a><br> <script LANGUAGE="VBScript"> Sub egOnDragStartLink_OnDragStart egOnDragStartLink.innerText="Перетаскиваешь!!!" self.event.returnValue=false l=setTimeOut("ResetOnDragStartExample()",3000) End Sub Sub ResetOnDragStartExample() egOnDragStartLink.innerText="Хочешь потащить еще?" End Sub // </script></p>
Обратите внимание:
С целью этого примера, заданное по умолчанию действие перемещения было отменено. Нормальное действие должно было бы загрузить документ, вызванный ссылкой .onhelp
Cобытие
onhelp обратите внимание, что объект должен в настоящее время быть выделенным. Простой пример, следующая ссылка отвечает только на двойное нажатие (см. ondblclick выше), и обеспечивает сообщение 'справки' озадаченному пользователю, который один раз нажимает ссылку ( в том случае если он нажимает клавишу F1 что бы получить ответ почему ничего не произошло после нажатия на ссылку).<A HREF="other_page.htm" LANGUAGE="Javascript" onclick="return false"onhelp="alert ('Дважды нажмите на ссылку, что бы открыть документ.');return false" ondblclick="self.location.href= 'other_page.htm'">ссылка</A>
onkeydown
Cобытие
onkeydown Используется при нажатии и держании клавиши.onkeypress
Cобытие
onkeypress Используется при нажатии клавиши.onkeyup
Cобытие
onkeyup Используется при отпускании клавиши.KeyCode
ВНИМАНИЕ:
свойство KeyCode содержит символ клавиши (UNICODE) , которая была нажата, чтобы заставить события onkeypress , onkeydown или onkeyup работать.onmousedown
Cобытие
onmousedown , когда пользователь нажимает кнопку на мыши.См. порядок событий onmouse* для деталей .
onmousemove
Событие
onmousemove происходит всякий раз, когда мышь пользователей перемещается поверх некоторого места в документe. Обратите внимание, при исполнении события onmousemove , необходимо отменить так называемое событие bubbling , чтобы все работало правильно. Например, рассмотрите:<Ponmousemove="top.status='Обычный текст.'">Вот например немного <EM onmousemove="top.status='КУРСИВ.'">курсивчиком </EM> написано</P>
Здесь строка состояния будет подразумевать, что мышь перемещается только поверх содержания элемента <P>. Поэтому делаем так:
<P onmousemove="top.status='Обычный текст.'">Вот например немного <EM onmousemove="top.status='КУРСИВ.';cancelBubble=true"> курсивчиком </EM> написано</P>
self.event.
Попробуйте - вторая строка отменяет событие bubbling:
Вот например немного КУРСИВкурсивчиком написано
Вот например немногоКУРСИВкурсивчиком написано
onmouseout
Cобытие
onmouseout стартует , когда мышь пользователей оставляет область, определенную элементом. См. порядок событий onmouse*onmouseover
Cобытие
onmouseover стартует , когда мышь пользователей входит в область, определенную элементом.onmouseup
Cобытие
onmouseup может использоваться, чтобы выполнить функции сценария после того, как мышь пользователей была нажата и отпущена - противоположность события onmousedown . порядок событий onmouse*onselectstart
Cобытие
onselectstart исполняется всякий раз, когда пользователь начинает выбирать некоторый текст, который является содержанием элемента. Например, выбор любого из текста в белом параграфе ниже заставляет изменяться его стиль.
Выбор любого элемента из этого текста заставит изменять его цвета ... иногда дико |
Порядок событий onmouse*
Здесь представлена последовательность выполнения событий.
Следующие события мыши, для которых не требуется щелчок любых кнопок мыши, происходят в таком порядке:
onmouseover
onmousemove
onmouseout
Для мышкиных событий связанных с нажатием кнопки порядок следующий:
onmouseover
onmousemove
onmousedown
onmouseup
onclick
ondblclick
onmouseout
Так что любые функции сценария, выполненные событиями
onmousedown или onmouseup произошли бы перед событиями onclick или ondblclick .