Лекция 8 Обработка событий. Примеры привязки обработчиков событий Привязка с помощью атрибута обработчика: ; Информация о модели DOM консорциума W3C Привязка.

Презентация:



Advertisements
Похожие презентации
Программирование в Mozilla По материалам сайта. Добавление Javascript в XUL-страницы Добавление страниц с текстом на Javascript происходит точно так же,
Advertisements

JavaScript Лекция 8. JavaScript JavaScript - новый язык для составления скриптов, разработанный фирмой Netscape. С помощью JavaScript можно легко создавать.
Click to edit Master title style IDK1011 Основы программирования События и их обработка.
Формы в HTML. Элемент FORM Элемент уровня «блок» Управляющие элементы Просто текст Атрибуты: action – url обработчика method – post или get enctype –
Высокоуровневые методы информатики и программирования Лекция 22 Работа с внешними устройствами.
JavaScript Объекты документа Объект History Свойства: current next previous length.
Действия выполняются в момент загрузки кода в браузер Действия выполняются в момент щелчка на ссылке.
События формы. Обработчик событий Обработчик событий это метод, связанный с событием. При возникновении события выполняется код внутри обработчика событий.
JavaScript и доступность веб- сайтов Владимир Агафонкин.
Разработка и использование интерактивных форм Общие положения. Общие положения. Современные браузеры позволяют пользователю, заполнив специальную форму,
МУНИЦИПАЛЬНОЕ ОБЩЕОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ СРЕДНЯЯ ОБЩЕОБРАЗОВАТЕЛЬНАЯ ШКОЛА 25 Выполнила: учитель информатики Турганова Н.В. Томск
Введение в Java Script УРОК 1. Пример ПЕРВЫЙ Открыть программу блокнот и записать следующую команду: Сохранить файл С расширением JS загрузить файл Двойным.
Интерактивность на HTML-страницах. Реакция на действия пользователя Переход по гиперссылке Click мышки на объекте Элементы форм Произвольные события,
Интерфейс текстового процессора Microsoft Word. С помощью ленты можно быстро находить необходимые команды (элементы управления: кнопки, раскрывающиеся.
1 Учебный курс Введение в JavaScript и CGI Лекция 3 Программирование форм и графики кандидат технических наук Павел Брониславович Храмцов
Объектная модель DOM javascript. Иерархия классов.
Из чего состоит "электронный офис". Запуск программ Office.
Учитель информатики Трашков О.Л.. Окно обычно содержит следующие элементы: Строка заголовка Строка меню Панель инструментов Адресная строка Рабочая область.
Домашняя работа Придумайте и изобразите свое диалоговое окно, подобное окну «Мой новый компьютер», что на стр.86 учебника ( в окне должно быть как можно.
Проверка правописания. Вверяет текст, опираясь на словарь из 240 тысяч основ русских слов, что соответствует приблизительно четырем миллионам различных.
Транксрипт:

Лекция 8 Обработка событий

Примеры привязки обработчиков событий Привязка с помощью атрибута обработчика: ; Информация о модели DOM консорциума W3C Привязка с помощью свойства соответствующего объекта в DOM document.getElementById("моя Форма").onsubmit = моя Функция; Использование методов DOM2 ( addEventListener() ) Использование «фирменных» возможностей браузеров ( attachEvent() в IE)

Способы вызова событий неявный вызов браузером в ответ на действия, инициированные пользователем или средствами JavaScript; явный вызов средствами JavaScript с помощью методов DOM1, например document.forms[0].submit(); явный вызов с помощью фирменных методов, например fireEvent() в Internet Explorer; явный вызов средствами JavaScript с помощью метода DOM2 dispatchEvent().

Атрибуты-обработчики событий Атрибут события Описание события Допустимые элементы стандартного (X)HTML onblur Возникает при потере элементом фокуса ввода,,,,,, ; также,,,,,,,,,, ; onchange Потеря фокуса ввода полем формы, когда значение поля было модифицировано во время доступа к нему,, onclick Выполнение щелчка на элементе Большинство элементов изображения*; ondblcli ck Выполнение двойного щелчка на элементе Большинство элементов изображения*; onfocus Получение фокуса ввода элементом,,,,,, ;

Атрибуты-обработчики событий onkeydown Нажатие клавиши в то время, когда элемент имеет фокус ввода Большинство элементов изображения*; onkeypress Нажатие и освобождение клавиши в то время, когда элемент имеет фокус ввода Большинство элементов изображения*; onkeyup Освобождение ранее нажатой клавиши в то время, когда элемент имеет фокус ввода Большинство элементов изображения*; onload Окончание загрузки объекта (как правило, окна или фрейма) в браузер, ; onmousedown Нажатие кнопки мыши в то время, когда эле­мент имеет фокус ввода Большинство элементов изображения*; onmousemove Движение указателя мыши, когда он находится на элементе Большинство элементов изображения*;

Атрибуты-обработчики событий onmouseout Смещение указателя мыши с элемента Большинство элементов изображения*; onmouseove r Помещение указателя мыши на элемент Большинство элементов изображения*; onmouseup Освобождение ранее нажатой кнопки мыши в то время, когда элемент имеет фокус ввода Большинство элементов изображения*; onreset Возвращение формы в исходное состояние onselect Выбор текста пользователем, onsubmit Отправка формы серверу onunload Выгрузка браузером текущего документа из окна или фрейма,

Привязка обработчиков с помощью свойств Пример использования анонимной функции: Кликните на меня! document.getElementById("b1").onclick = function(){alert('Успешно!');}; Пример использования существующей функции: function showMessage(){ alert("Успешно!"); } Укaжитe сюда! document.getElementById("b1").onmouseover = showMessage;

Использование this в обработчике событий Пример: отображение id элемента Укажите на меня!

Эффекты возвращения false обработчиками Обработчик события Эффект возвращения false click Кнопки переключателей и флажки не устанавливаются. Для кнопки "Подача запроса" не выполняется отправка данных формы. Для кнопки "Сброс" не очищаются поля формы. Для ссылок не осуществляются переходы по ссылкам dragdrop Отменяется перетаскивание keydown Отменяется эффекты удерживания клавиш нажатыми keypress Отменяются эффекты нажатия клавиш mousedown Отменяется эффект, имеющий место по умолчанию (начало перетаскивания, режима выделения или перехода по ссылке) mouseover Любые изменения свойств status или defaultStatus окна игнорируются браузером. (И наоборот, возвращение true приводит к тому, что любые изменения свойств status или default-status окна отражаются браузером.) submit Отменяется отправка данных формы

Использование возвращаемого значения браузером Правильно: W3C Неправильно: W3C

Проверка данных в форме: function validateField (field) { if (field.value == ""){ alert("Вы должны ввести имя пользователя."); field.focus(); return false; } return true; } Имя пользователя:

Генерирование событий вручную Пример document.getElementById('button1').click(); Обработка двух взаимосвязанных событий

Методы, генерирующие события Метод события Элементы click(),,,,, (не является частью DOM, но имеет широкую поддержку) blur (),,, focus(),,, select (),,, submit () reset ()

Обращение к обработчику событий document.forms[0].elements[0].onclic k();

Привязка событий в DOM2 (аналогично базовой модели): Нажмите здесь А не здесь function handleClick(e){ alert("Щелчок получен: " + e) ; } document.getElementById("myElem").onclic k = handleClick;

Привязка событий в DOM2 с помощью addEventListener(): объект.addEventListener(событие, обработчик, фаза Захвата); объект задает узел, к которому привязывается приемник события; событие соответствует событию, которое должно отслеживаться; обработчик задает функцию, которая должна вызываться, когда происходит соответствующее событие; фаза Захвата является логическим значением, указывающим, когда должен вызываться обработчик событий в фазе захвата ( true ) или в фазе возврата ( false ).

Примеры использования addEventListener(): Добавление обработчика в фазе захвата: document.getElementById('myText').addEven tListener("mouseover", changeColor, true); Добавление обработчика в фазе возврата: document.getElementById('myText').addEven tListener("mouseover", swapImage, false); Удаление обработчика с помощью removeEventListener() document.getElementById('myText').removeE ventListener("mouseover", changeColor, true);

Свойства всех объектов Event Свойство только для чтения Описание bubbles Логическое значение, указывающее, имеет ли событие фазу возврата cancelable Логическое значение, указывающее, допускает ли объект возможность отмены currentTarget Узел, обработчик события которого выполняется в данный момент (т.е. узел, к которому привязан данный обработчик событий) eventPhase Числовое значение, указывающее текущую фазу течения события (1 для фазы захвата, 2 для нахождения в целевом объекте, 3 для фазы возврата) type Строка, соответствующая типу события (например, "click" ) target Узел, к которому изначально направлялось событие (т.е. узел, в котором событие произошло)

События, связанные с мышью Событие Фаза возврата Возможность отмены click Да mousedown Да mouseup Да mouseover Да mousemove Да Нет mouseout Да

Дополнительные свойства Event, связанные с мышью Свойство Описание altKey Логическое значение, указывающее, была ли нажата клавиша ALT button Числовое значение, соответствующее использовавшейся кнопке мыши (обычно 0 соответствует левой, 1 средней, а 2 правой кнопкам) clientX Горизонтальная координата точки, в которой произошло событие, относительно окна содержимого браузера clientY Вертикальная координата точки, в которой произошло событие, относительно окна содержимого браузера ctrlKey Логическое значение, указывающее, была ли нажата клавиша CTRL detail Указывает число щелчков мыши (если таковые были вообще)

Дополнительные свойства Event, связанные с мышью metaKey Логическое значение, указывающее, была ли нажата клавиша МЕТА (на компьютерах Макинтош) relatedTarg et Ссылка на узел, связанный с событием; например, для mouseover она указывает на узел, по которому указатель мыши движется, а для mouseout на узел, который указатель мыши по­кидает screenX Горизонтальная координата точки, в которой произошло событие, относительно всего экрана screenY Вертикальная координата точки, в которой произошло событие, относительно всего экрана shiftKey Логическое значение, указывающее, была ли нажата клавиша SHIFT

Атрибуты Event, связанные с мышью (пример), ч. 1 Нажата ли клавиша Alt? Нажата ли клавиша Ctrl? Нажата ли клавиша Shift? Нажата ли клавиша Meta? Координаты щелчка относительно браузера:, Координаты щелчка относительно экрана:, Нажата кнопка:

Атрибуты Event, связанные с мышью (пример), ч. 1 Щелкните в любом месте документа... function showMouseDetails(event){ document.forms[0].elements[0].value = event.altKey; document.forms[0].elements[1].value = event.ctrlKey; document.forms[0].elements[2].value = event.shiftKey; document.forms[0].elements[3].value = event.metaKey; document.forms[0].elements[4].value = event.clientX; document.forms[0].elements[5].value = event.clientY; document.forms[0].elements[6].value = event.screenX; document.forms[0].elements[7].value = event.screenY; if (event.button ==0) document.forms[0].elements[8].value = "left"; else if (event.button == 1) document.forms[0].elements[8].value = "middle"; else document.forms[0].elements[8].value = "right"; } document.addEventListener("click", showMouseDetails, true);

События клавиатуры Событие Фаза возврата Возможность отмены keyup Да keydown Да keypress Да

Дополнительные свойства event, связанные с клавиатурой Свойство Описание altKey Логическое значение, указывающее, была ли нажата клавиша ALT charCode Для печатаемых символов является числовым значением, указывающим значение Unicode нажатой клавиши ctrlKey Логическое значение, указывающее, была ли нажата клавиша CTRL isChar Логическое значение, указывающее, был ли при нажатии клавиши сгенерирован символ keyCode Для непечатаемых символов является числовым значением, указывающим значение Unicode нажатой клавиши metaKey Логическое значение, указывающее, была ли нажата клавиша МЕТА shiftKey Логическое значение, указывающее, была ли нажата клавиша SHIFT