जब मैं एक निश्चित घटना को निकाल दिए जाने के बाद अन्य इवेंट हैंडलर को निष्पादित करने से रोकना चाहता हूं, तो मैं दो तकनीकों में से एक का उपयोग कर सकता हूं। मैं उदाहरणों में jQuery का उपयोग करूँगा, लेकिन यह सादे-JS पर भी लागू होता है:
1। event.preventDefault()
$('a').click(function (e) {
// custom handling here
e.preventDefault();
});
2। return false
$('a').click(function () {
// custom handling here
return false;
});
क्या घटना प्रसार को रोकने के उन दो तरीकों में कोई महत्वपूर्ण अंतर है?
मेरे लिए, return false;एक विधि को निष्पादित करने की तुलना में सरल, कम और शायद कम त्रुटि वाला है। विधि के साथ, आपको सही आवरण, कोष्ठक आदि के बारे में याद रखना होगा।
इसके अलावा, मुझे कॉलबैक में पहले पैरामीटर को परिभाषित करना होगा जो विधि को कॉल करने में सक्षम हो। शायद, कुछ कारण हैं कि मुझे इसे इस तरह करने से बचना चाहिए और preventDefaultइसके बजाय उपयोग करना चाहिए? बेहतर तरीका क्या है?
preventDefaultकरता नहीं क्रियान्वित करने से अन्य हाथ के बल्लेबाजों को रोकने के। इसकेstopImmediatePropagationलिए जो है।