Page 160 - 6108
P. 160
3.7.4 Обробка подій
Для прив’язки обробників застосовується метод
.on( events [, selector ] [, data ], handler |
event [, selector ] [, data ])
де events – рядок, що містить один або кілька типів подій, розділених
пробілами, та додаткові простори імен, такі як "click" або "keydown.myPlugin"
selector – використовується для фільтрації нащадків вибраних
елементів, які ініціюють подію. Якщо селектор є нульовим або опущений, подія
завжди спрацьовує, коли вона досягає вибраного елемента.
data – дані, що передаються обробнику у event.data, коли спрацьовує
подія.
handler – функція, яка виконується кожного разу, коли подія спрацьовує.
Для функції, яка просто повертає false (відміна дії за замовлюванням)
допускається вказати лише false
event – об'єкт, що містить один або декілька типів подій DOM та функції
для їх виконання
$( "#dataTable tbody tr" ).on( "click", function() {
console.log( $( this ).text() );
});
function notify() {
alert( "clicked" );
}
$( "button" ).on( "click", notify );
function myHandler( event ) {
alert( event.data.foo );
}
$( "p" ).on( "click", { foo: "bar" }, myHandler );
$( "form" ).on( "submit", false ); // відміна відправки форми
Метод .off(), знімає обробники, які додані через метод on(),
off( events [, selector ] [, handler ] |
event [, selector ] |
Event)),
де selector – селектор, який повинен відповідати тому, який спочатку
був переданий .on () при додаванні обробників подій
handler – функція обробник, раніше закріплена для події, або спеціальне
значення false.
Event – об’єкт jQuery.Event.
function notify() {
alert( "clicked" );
}
$( "button" ).off( "click", notify );
Метод .one() дозволяє прикріпити обробник, який виконується не більше
одного разу на елемент за типом події.
.one(events [, data ], handler |
events [, selector ] [, data ], handler |
event [, selector ] [, data ] ).