Метода on
Метода on омогућава додавање обработчика
догађаја елементу. Да бисте уклонили обработчик
можете користити метод
off,
да би се догађај одиграо само једном, а затим
да се обработчик сам уклони - користите метод
one.
Елементи, за које везујемо обработчик морају
постојати у тренутку позива on.
Синтакса
Овако додајемо обработчик догађаја елементу,
као први параметар у виду ниска се прослеђује
један или више догађаја раздвојених размаком, другим
параметром прослеђујемо додатни филтрирајући
селектор потомака унутар елемента, трећим - додатне
податке, који се прослеђују у обработчик у особини
event.data
при окидању догађаја. Други и трећи параметри
нису обавезни. Четвртим прослеђујемо функцију-обработчик,
у коју се прослеђује објекат догађаја и необавезни
додатни параметри. Ако уместо функције-обработчика
проследимо false, онда ће функција само вратити false:
$(селектор).on(догађаји, [селектор], [подаци], функција-обработчик(објекат догађаја, [додатни параметри]));
Може се користити метода on на други начин,
тада се у први параметар прослеђује
објекат JavaScript, где су кључеви - тип догађаја, а
вредности - функције-обработчици, које се позивају
за догађаје:
$(селектор).on({'тип догађаја': handler}, [селектор], [подаци]);
Ако не проследимо додатни селектор, онда се догађај окида на елементу, за који смо прикачили обработчик, у супротном - на елементу-потомку, који одговара том селектору (делегирани догађаји). Исти обработчик догађаја може бити везан за елемент више пута.
Пример
Хајде да у alert,
прикажемо текст параграфа са #test при
клику по њему, кликови по другим параграфима ни до чега
неће довести:
<p>текст1</p>
<p id="test">текст2</p>
<p>текст3</p>
$('#test').on('click', function() {
alert( $(this).text() );
});
Пример
Хајде да при клику на параграф прикажемо податке, које
смо проследили у метод on. Користићемо
функцију-обработчик testFunc,
коју смо креирали:
<p>клик</p>
function testFunc(event) {
alert(event.data.text);
}
$('p').on('click', {text: 'aaa'}, testFunc);
Погледајте такође
-
метода
off,
која омогућава уклањање обработчика догађаја елемента -
метода
one,
која омогућава да се догађај одигра једном, а затим аутоматски уклони обработчик -
објекат
event,
који садржи информације о догађају -
метода
trigger,
која омогућава покретање свих обработчика догађаја, везаних за елемент за догађаје задатог типа -
JavaScript метода
bind,
која омогућава везивање контекста за функцију