2009-04-16 15 views
5

मैं जावास्क्रिप्ट का उपयोग कर टेक्स्टरेरा से एंटर कुंजी को पकड़ने की कोशिश कर रहा हूं। समस्या यह है कि हालांकि मैं यह पता लगाने में सक्षम हूं कि "एंटर" कुंजी दबाई गई थी, मैं textarea में आने से बचने में असमर्थ हूं। मुझे एंटर कुंजी नहीं चाहिए i.e. "\ n" टेक्स्ट क्षेत्र में प्रदर्शित होना है।जावास्क्रिप्ट कैप्चर कुंजी

इसे प्राप्त करने के तरीके पर कोई सुझाव?

धन्यवाद।

उत्तर

6

पाठ क्षेत्र के लिए onkeydown घटना के रूप में इस समारोह सेट करके देखें:

पूर्व: onkeydown="javascript:return fnIgnoreEnter(event);"

function fnIgnoreEnter(thisEvent) { 
    if (thisEvent.keyCode == 13) { // enter key 
    return false; // do nothing 
    } 
} 
0

यहां तक ​​कि अगर आप में प्रवेश बटन ब्लॉक, वे अभी भी नई-पंक्तियों में पेस्ट कर सकते हैं। यह एंटर बटन को रोक देगा, और किसी भी न्यूलाइन और कैरिज रिटर्न को किसी भी तरह से हटा देगा (केवल एफएफ पर ही कोशिश की गई है, और इसमें कम से कम सोचा गया है - यह सफारी या आईई के रूप में काम नहीं कर सकता है)।

<textarea rows="20" cols="50" onkeydown="return ignoreEnter(event);" onkeyup="noEnter(this);"></textarea> 
<script type="text/javascript"> 
function ignoreEnter(event) { 
return thisEvent.keyCode != 13; // enter key 
} 

function noEnter(e) { 
e.value = e.value.replace(/\n/g,''); 
e.value = e.value.replace(/\r/g,''); 
} 
</script> 
1

अधिक हाल ही में और अधिक स्वच्छ: event.key बजाय event.keyCode का उपयोग करें। कोई और मनमाना संख्या कोड नहीं!

function onEvent(event) { 
    if (event.key === "Enter") { 
     return false; 
    } 
}; 

Mozilla Docs

Supported Browsers

संबंधित मुद्दे