तरीका 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')
});