Код jQuery может исполняться после определенных действий пользователя.
ТвитнутьОбработчики событий - это функции, код которых исполняется только после совершения определенных действий.
Обработчики событий присутствовали и в JavaScript, но jQuery облегчает их использование и расширяет их функциональность.
Примеры действий, после которых выполняются обработчики:
Общий вид определения обработчиков jQuery:
$(селектор).обработчик_события(function(){код_обработчика_события});
Код обработчика mouseover будет выполнен, когда курсор мыши будет наведен на элемент.
Код обработчика mouseout будет выполнен, когда курсор мыши будет выведен из границ элемента.
Пример
$(document).ready(function(){ $("p").mouseover(function(){$("p").css("color","green")}); $("p").mouseout(function(){$("p").css("color","black")}); });
Код обработчика click будет выполнен после одинарного щелчка мыши на элементе.
Код обработчика dblclick будет выполнен после двойного щелчка мыши на элементе.
Пример
$(document).ready(function(){ $("#but1").click(function(){alert("Вы нажали один раз на первую кнопку!");}); $("#but2").dblclick(function(){alert("Вы нажали два раза на вторую кнопку!");}); });
Код обработчика focus() будет выполнен, когда элемент станет активным.
Код обработчика blur() будет выполнен, когда элемент перестанет быть активным.
Код обработчика change() будет выполнен, при изменении содержимого элемента.
Пример
$(document).ready(function(){ $("#el1").focus(function(){$(this).attr("value","")}); $("#el1").blur(function(){$(this).attr("value","Введите ФИО")}); $("#el2").change(function(){ alert("Содержимое данного элемента было изменено.") }); });
С помощью jQuery Вы можете также вызывать обработчики событий привязанные к элементу.
Например: $('#test').blur() вызовет обработчик blur у элемента с id='test'.
Пример
$(document).ready(function(){ // Зададим обработчик события, который будет выводить сообщение при нажатии на кнопку с id=but1 $("#but1").click(function(){alert("Вы нажали на кнопку с id=but1")}); // Вызовем обработчик click у элемента с id='but1' $("#but1").click(); });
Обратите внимание: полный список всех существующих событий в jQuery с примерами использования Вы найдете в нашем jQuery справочнике.
Объект event содержит информацию о произошедшем событии.
Объект event создается для каждого произошедшего события, но для того, чтобы иметь возможность обращаться к его свойствам и методам его необходимо явно передать в обработчик события.
Синтаксис:
$(селектор).событие(function(event){код_обработчика_события});
После того, как объект event был передан обработчику события, Вы можете обращаться к его свойствам и методам.
В примере ниже с помощью объекта event мы будем выводить координаты, на которых находился курсор мыши во время того, как произошло событие.
Пример
$(document).ready(function(){ $("#square").click(function(event){ $("#coord").css("display","block"); $("#x").html(event.pageX); $("#y").html(event.pageY); }); });
Обратите внимание: полный список всех существующих свойств и методов объекта event с примерами использования Вы найдете в нашем jQuery справочнике.
Метод jQuery one() позволяет создавать обработчики, которые могут быть вызваны лишь один раз.
Пример
$(document).ready(function(){ $("#but1").one("click",function(){alert("Вы нажали на кнопку с id=but1")}); });
Метод jQuery toggle() позволяет переключаться между различными обработчиками событий по щелчку мыши.
Пример
$(document).ready(function(){ $("#but1").click(function(){ $("#par1").css("color","black"); $("#par1").css("font-size","1em"); }); $("#par1").toggle(function(){ $("#par1").css("color","green"); $("#par1").css("font-size","10px");},function(){ $("#par1").css("color","red"); $("#par1").css("font-size","20px");},function(){ $("#par1").css("color","blue"); $("#par1").css("font-size","30px");},function(){ $("#par1").css("color","black"); $("#par1").css("font-size","1em"); }); });
Обратите внимание: полный список всех существующих функций для управления обработчиками событий с примерами использования Вы найдете в нашем jQuery справочнике.
Задание 1 реализуйте подпункты перечисленные ниже путем добавления на страницу соответствующего jQuery кода (для выполнения некоторых подпунктов необходимо обратиться к справочнику):