triggerHandler Metodu
triggerHandler metodu, bir öğeye bağlı
tüm olay işleyicilerini çalıştırmanıza olanak tanır.
trigger
metoduyla benzer şekilde çalışır,
ancak aralarında farklar vardır:
Olay işleyici tetiklenir, ancak standart
olay oluşturulmaz. Örneğin
triggerHandler('submit')
çalıştığında, submit olayını tetiklemez.
triggerHandler metodu sadece
kümedeki ilk öğe üzerinde etkilidir.
triggerHandler tarafından tetiklenen olaylar
DOM öğesi hiyerarşisinde kabarcıklaşmaz (bubble).
triggerHandler bir jQuery nesnesi döndürmez,
son çalıştırılan işleyiciden alınan değeri döndürür.
Hiçbir işleyici tetiklenmezse, undefined döndürür.
Sözdizimi
İlk parametre olarak bir olay türünü string olarak iletebiliriz, ikinci isteğe bağlı parametre olarak işleyiciye iletilmek üzere ek parametreler içeren bir dizi veya nesne iletebiliriz:
$(selektör).triggerHandler(olay türü, [ek parametreler]);
İlk parametre olarak bir jQuery.Event nesnesi
olarak bir olay iletebiliriz:
$(selektör).trigger(olay, [ek parametreler]);
Örnek
#test1 kimliğine sahip düğmeye tıklandığında
inputumuzun odaklandığını (focus) ve konsolda
'Focused' yazdığını, başka bir deyişle
hem işleyici fonksiyonunun hem de odaklanma olayının
tetiklendiğini sağlayalım. #test2 kimliğine sahip
ikinci düğmeye tıklandığında ise sadece işleyici fonksiyonu
çalışsın, ancak input odaklanmasın:
<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')
});