მეთოდი 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')
});