अपने संपादित इस iPhone का उपयोग पर ध्यान केंद्रित किया जा रहा के बारे में ...
iPhone ध्यान में रखते हुए वास्तव में सिर्फ यह है कि ज्यादा बिजली नहीं है। तुम बस onchange
या onblur
बजाय onkeydown
का उपयोग कर से बेहतर हो जाएगा।
var textarea = document.getElementById('textarea');
function checkTextArea() {
if (textarea.value /* ... */) {
/* ... */
}
}
textarea.keyDownTimeout = null;
textarea.onkeydown = function() {
if (textarea.keyDownTimeout) clearTimeout(textarea.keyDownTimeout);
textarea.keyDownTimeout = setTimeout(checkTextArea, 5000);
};
यह रोक और पुनः बनाने, पहले keydown साथ टाइमर सेट करना चाहिए:
डेव के जवाब के लिए एक वैकल्पिक उपयोगकर्ता (5 सेकंड के लिए उदाहरण के लिए) को रोकने के लिए इंतज़ार कर रहा है प्रत्येक क्रमिक keydown के लिए टाइमर। अंत में उपयोगकर्ता टाइपिंग बंद होने के 5 सेकंड बाद कॉल कर रहा है।
इसके अलावा, checkTextArea
के बाद कोष्ठक की कमी पर ध्यान दें। यह setTimeout
फ़ंक्शन का संदर्भ बनाम return
देगा।
तुम भी यह आसान कई तत्वों के लिए उपयोग करने के लिए बनाने के लिए एक समारोह में सेट कर सकते हैं:
function setPauseTimer(element, timeout, callback) {
var timer = null;
element.onkeydown = function() {
if (timer) clearTimeout(timer);
timer = setTimeout(function(){ callback(element); }, timeout);
};
}
function checkTextArea(textarea) { /* moved from global to argument */
if (textarea.value /* ... */) {
/* ... */
}
}
setPauseTimer(document.getElementById('textarea'), 5000, checkTextArea);
स्रोत
2009-01-17 07:37:17
दुर्भाग्य से मैं नहीं कर सकता, क्योंकि यह कंपनी नीति का हिस्सा है। इससे मामलों को जटिलता मिलती है, हां, लेकिन मुझे उम्मीद थी कि किसी को सामान्य समाधान मिल सकता है। – aditya
यह देखते हुए कि सेल फोन ऐप की गुणवत्ता माइक्रोग्रेन किए गए कीस्ट्रोक प्रबंधन पर इतनी गंभीर रूप से निर्भर है, मैं टाइमर आदि से बचने की कोशिश करता हूं - उपयोगकर्ता की आंख अक्सर प्रदर्शन और कीबोर्ड के बीच बातचीत के लिए मजबूती से चिपक जाती है। क्या आप कुछ सामान्यीकृत कर सकते हैं और इसे पोस्ट कर सकते हैं? – dkretz