one विधि
one विधि किसी तत्व में इवेंट हैंडलर जोड़ने की अनुमति देती है।
एक बार जब इवेंट एक बार ट्रिगर हो जाता है - हैंडलर स्वचालित रूप से
हटा दिया जाएगा।
सिंटैक्स
इस तरह हम एक तत्व से एक इवेंट हैंडलर संलग्न करते हैं,
पहले पैरामीटर के रूप में एक स्ट्रिंग के रूप में एक या एक से अधिक इवेंट पास किए जाते हैं
रिक्त स्थान से अलग किए गए, दूसरे - हम JavaScript ऑब्जेक्ट के रूप में डेटा पास करते हैं,
जो हैंडलर में प्रॉपर्टी में पास होते हैं
event.data जब इवेंट ट्रिगर होता है। दूसरा पैरामीटर
ऐच्छिक है। तीसरे में हम हैंडलर फ़ंक्शन पास करते हैं,
जिसमें इवेंट ऑब्जेक्ट पास किया जाता है या हम false पास करते हैं:
$(selector).one(events, [data], handler-function(event object));
आप दूसरे पैरामीटर के रूप में अतिरिक्त पास कर सकते हैं
तत्व के अंदर डिसेंडेंट्स को फ़िल्टर करने वाला सेलेक्टर,
तीसरा - अतिरिक्त डेटा, जो पास होता है
हैंडलर में प्रॉपर्टी event.data में जब
इवेंट ट्रिगर होता है। दूसरा और तीसरा पैरामीटर
ऐच्छिक हैं। चौथे में हम पास करते हैं
हैंडलर फ़ंक्शन, जिसमें इवेंट ऑब्जेक्ट पास किया जाता है
और ऐच्छिक अतिरिक्त पैरामीटर। यदि इसके बजाय
हैंडलर फ़ंक्शन false पास करता है, तो फ़ंक्शन बस
false लौटाएगा:
$(selector).one(events, [selector], [data], handler-function(event object));
आप one विधि का दूसरे तरीके से उपयोग कर सकते हैं,
तब पहले पैरामीटर में पास किया जाता है
JavaScript ऑब्जेक्ट, जहां कुंजियाँ - इवेंट प्रकार, और
मान - हैंडलर फ़ंक्शन, जिसे हमने जोड़ा था
तत्व:
$(selector).one({'event type': handler}, [selector], [data]);
यदि हम अतिरिक्त सेलेक्टर पास नहीं करते हैं, तो इवेंट उस तत्व पर ट्रिगर होता है, जिससे हम हैंडलर संलग्न करते हैं, अन्यथा - पर डिसेंडेंट तत्व, जो इस सेलेक्टर से मेल खाता है (डेलिगेटेड इवेंट्स)।
उदाहरण
आइए पैराग्राफ पर क्लिक करने पर वह डेटा आउटपुट करें, जो
हमने one विधि में पास किया था। बाद की क्लिक्स पर
कुछ भी नहीं होगा। आइए उपयोग करें
हैंडलर फ़ंक्शन testFunc,
जिसे हमने बनाया था:
<p>click</p>
function testFunc(event) {
alert(event.data.text);
}
$('p').one('click', {text: 'aaa' }, testFunc);