მეთოდი triggerHandler

მეთოდი triggerHandler საშუალებას აძლევს გაუშვას ელემენტთან მიბმული ყველა მოვლენის დამმუშავებელი. ის მუშაობს მეთოდის trigger მსგავსად, მაგრამ მათ შორის არსებობს განსხვავებები: მოვლენის დამმუშავებელი იმუშავებს, მაგრამ სტანდარტული მოვლენა არ გაეშვება. მაგალითად, triggerHandler('submit'), მუშაობის შემდეგ, არ გამოიწვევს submit-ს. მეთოდი triggerHandler მოქმედებს მხოლოდ ნაკრების პირველ ელემენტზე. triggerHandler-ის მიერ გაშვებული მოვლენები არ ვრცელდება DOM-ელემენტების იერარქიაში. triggerHandler არ აბრუნებს jQuery-ის ობიექტს, ის აბრუნებს მნიშვნელობას, რომელიც მიღებულია ბოლოს გაშვებული დამმუშავებლის მიერ. თუ დამმუშავებლები არ გაეშვება, დააბრუნებს undefined-ს.

სინტაქსი

პირველ პარამეტრად შეგვიძლია გადავცეთ მოვლენის ტიპი სტრიქონის სახით, მეორე არასავალდებულო პარამეტრად კი მასივი ან ობიექტი, რომელიც შეიცავს დამატებით პარამეტრებს დამმუშავებლისთვის გადასაცემად:

javascript$(სელექტორი).triggerHandler(მოვლენის ტიპი, [დამატებითი პარამეტრები]);

შესაძლებელია პირველ პარამეტრად გადავცეთ მოვლენა ობიექტის jQuery.Event სახით:

javascript$(სელექტორი).trigger(მოვლენა, [დამატებითი პარამეტრები]);

მაგალითი

მოდით, გავაკეთოთ ისე, რომ ღილაკზე დაჭერისას #test1 ჩვენი ინფუთი მიიღებს ფოკუსს და კონსოლში გამოიყვანება 'Focused', სხვა სიტყვებით - იმუშავებს და ფუნქცია-დამმუშავებელიც და ფოკუსის მოვლენაც. მეორე ღილაკზე დაჭერისას #test2 იმუშავებს მხოლოდ ფუნქცია-დამმუშავებელი, მაგრამ ინფუთი არ მიიღებს ფოკუსს:

html<button id="test1">button1</button>
<button id="test2">button2</button>
<input type="text">
javascript$('#test1').click(function() {
  $('input').trigger('focus');
});

$('#test2').click(function() {
  $('input').triggerHandler('focus');
});

$('input').focus(function() {
  console.log('Focused')
});

იხილეთ აგრეთვე

  • მეთოდი trigger,
    რომელიც საშუალებას აძლევს გაუშვას ელემენტთან მიბმული ყველა მოვლენის დამმუშავებელი, მოცემული ტიპის მოვლენებისთვის
  • მეთოდი on,
    რომელიც საშუალებას აძლევს მიბაოს მოვლენის დამმუშავებელი ელემენტთან