triggerHandler әдісі
triggerHandler әдісі элементке байланған
оқиға өңдеушілердің барлығын іске қосуға мүмкіндік береді. Бұл әдіс
trigger
әдісіне ұқсас жұмыс істейді, бірақ олардың арасында айырмашылықтар бар:
Оқиға өңдеушісі жұмыс істейді, бірақ стандартты
оқиға іске қосылмай. Мысалы,
triggerHandler('submit')
жұмыс істеген кезде submit оқиғасын іске қоспайды.
triggerHandler әдісі
жиынтықтағы тек бірінші элементке әсер етеді.
triggerHandler арқылы іске қосылған оқиғалар
DOM элементтерінің иерархиясында көтерілмейді.
triggerHandler jQuery нысанын қайтармай,
ол соңғы шақырылған өңдеушіден алынған мәнді қайтарады. Ешбір өңдеуші іске қосылмаса,
undefined қайтарады.
Синтаксис
Бірінші параметр ретінде біз оқиға түрін жол түрінде бере аламыз, екіншісі ретінде міндетті емес массив немесе объект, ол өңдеушіге жеткізу үшін қосымша параметрлерді қамтиды:
$(селектор).triggerHandler(оқиға түрі, [қосымша параметрлер]);
Бірінші параметр ретінде оқиғаны
jQuery.Event нысаны түрінде беруге болады:
$(селектор).trigger(оқиға, [қосымша параметрлер]);
Мысал
#test1 идентификаторы бар батырманы басқан кезде
біздің енгізу өрісі фокусты алады және
консольде 'Focused' шығады, басқаша
айтқанда - өңдеуші функция да, фокус оқиғасы да
жұмыс істейді. Екінші батырманы
#test2 басқан кезде тек өңдеуші функция жұмыс істейді,
бірақ енгізу өрісі фокусты алмайды:
<button id="test1">button1</button>
<button id="test2">button2</button>
<input type="text">
$('#test1').click(function() {
$('input').trigger('focus');
});
$('#test2').click(function() {
$('input').triggerHandler('focus');
});
$('input').focus(function() {
console.log('Focused')
});