Методот on
Методот on овозможува да додадете обработувач
на настани кон елемент. За да го отстраните обработувачот
можете да го користите методот
off,
за да се активира настанот само еднаш, а потоа
обработувачот сам да се отстрани - користете го методот
one.
Елементите, кон кои го врзуваме обработувачот мора
да постојат во времето на повикувањето на on.
Синтакса
Вака додаваме обработувач на настани кон елемент,
како прв параметар во вид на низа се пренесува
еден или повеќе настани разделени со празно место, како втор
параметар се пренесува дополнителен филтрирачки
селектор на потомци внатре во елементот, како трет - дополнителни
податоци, кои се пренесуваат до обработувачот во својството
event.data
при активирање на настанот. Вториот и третиот параметар
не се задолжителни. Како четврт се пренесува функција-обработувач,
во која се пренесува објект на настанот и незадолжителни
дополнителни параметри. Ако наместо функција-обработувач
се пренесе false, тогаш функцијата едноставно ќе врати false:
$(селектор).on(настани, [селектор], [податоци], функција-обработувач(објект на настан, [дополнителни параметри]));
Може да се користи методот on на друг начин,
тогаш како прв параметар се пренесува
JavaScript објект, каде клучеви - тип на настан, а
вредности - функции-обработувачи, кои се повикуваат
за настаните:
$(селектор).on({'тип на настан': handler}, [селектор], [податоци]);
Ако не пренесеме дополнителен селектор, тогаш настанот се активира на елементот, кон кој го прикачуваме обработувачот, во спротивен случај - на елементот-потомок, кој одговара на тој селектор (делегирани настани). Истиот обработувач на настан може да биде врзан кон елемент неколку пати.
Пример
Ајде во alert,
да го прикажеме текстот на параграфот со #test при
кликнување на него, кликнувањата на други параграфи нема да
доведат до ништо:
<p>text1</p>
<p id="test">text2</p>
<p>text3</p>
$('#test').on('click', function() {
alert( $(this).text() );
});
Пример
Ајде при кликнување на параграф да ги прикажеме податоците, кои
ги пренесовме во методот on. Ќе ја користиме
функцијата-обработувач testFunc,
која ја создадовме:
<p>click</p>
function testFunc(event) {
alert(event.data.text);
}
$('p').on('click', {text: 'aaa'}, testFunc);
Погледнете ги исто така
-
методот
off,
кој овозможува отстранување на обработувач на настани од елемент -
методот
one,
кој овозможува настанот да се активира еднаш, а потоа автоматски да се отстрани обработувачот -
објектот
event,
кој содржи информации за настанот -
методот
trigger,
кој овозможува активирање на сите обработувачи на настани, врзани кон елемент за настани од даден тип -
JavaScript методот
bind,
кој овозможува врзување на контекст на функција