का उपयोग करके मैं अंडरस्कोरजेएस का उपयोग करने की कोशिश कर रहा हूं और यह _.debounce()
विधि कुंजीपटल ईवेंट पर बार-बार गोलीबारी के लिए कॉलबैक फ़ंक्शन को रोकने के लिए है। मैं ऐसा इसलिए कर रहा हूं क्योंकि हर बार जब आप टाइपिंग शुरू करते हैं, तो एक एजेक्स कॉल निकाल दिया जाएगा, इसलिए आपके द्वारा टाइप किए जाने वाले प्रत्येक चरित्र के लिए कॉल करना काफी महंगा होगा (:अंडरस्कोर की _.debounce() विधि
इस प्रकार मैं विधि का उपयोग कर रहा हूं:
onTypeEvents : function(selector, callback) {
return $(selector).on('keyup', function(event){
var that = $(this).val().trim();
switch(event.keyCode) {
case 8:
if(that !== '') {
if(that.length >= 2) {
return _.debounce(function() { callback.apply(that, [ that ]) }, 150);
} else {
return _.debounce(function() { callback.apply(null, [ null ]) }, 150);
};
};
break;
case 9:
break;
case 13:
break;
case 27:
break;
case 37:
break;
case 38:
break;
case 39:
break;
case 40:
break;
default:
if(that !== '') {
if(that.length >= 2) {
return _.debounce(function() { callback.apply(that, [ that ]) }, 150);
} else {
return _.debounce(function() { callback.apply(null, [ null ]) }, 150);
};
};
break;
};
event.preventDefault();
event.stopPropagation();
});
},
लेकिन जाहिरा तौर पर यह काम नहीं करता है क्योंकि कुछ भी नहीं अब और फायरिंग कर रहा है, लेकिन अगर मैं विधि निकालने मेरी कोड काम करता है ठीक (: तो क्या वहाँ में गलत हो रहा हो सकता है मैं गलत कर रहा हूँ या हूँ मुझे कुछ याद आ रहा है?
क्या होगा यदि आप केवल एक विशिष्ट कुंजी कोड को डिबॉश करना चाहते हैं? स्विच स्टेटमेंट के अंदर डिबॉन्स कॉल (जैसे '_.debounce (myFunction, 100);') काम नहीं कर रहा है, 'myFunction' को कभी भी – zok
नहीं कहा जाता है ठीक है: https://stackoverflow.com/questions/24306290/lodash-debounce-नहीं काम में गुमनाम-समारोह – zok