मैं एक टेक्स्ट बॉक्स में पाठ को उपयोगकर्ता के प्रकारों में लाने की कोशिश कर रहा हूं ( jsfiddle खेल का मैदान ):
function edValueKeyPress() {
var edValue = document.getElementById("edValue");
var s = edValue.value;
var lblValue = document.getElementById("lblValue");
lblValue.innerText = "The text box contains: " + s;
//var s = $("#edValue").val();
//$("#lblValue").text(s);
}
<input id="edValue" type="text" onKeyPress="edValueKeyPress()"><br>
<span id="lblValue">The text box contains: </span>
कोड, त्रुटियों के बिना चलाता है सिवाय इसके कि मूल्य की input text
, बॉक्स के दौरान onKeyPress
हमेशा मूल्य है से पहले परिवर्तन:
प्रश्न : मुझे पाठ बॉक्स का पाठ कैसे मिलता है
onKeyPress
?
बोनस चटर
HTML DOM में "उपयोगकर्ता टाइप कर रहा है " से संबंधित तीन घटनाएँ हैं :
onKeyDown
onKeyPress
onKeyUp
में विंडोज , के आदेश WM_Key
संदेशों महत्वपूर्ण हो जाता है जब उपयोगकर्ता एक कुंजी को दबाए रखती है, और कुंजी दोहराने के लिए शुरू होता है:
WM_KEYDOWN('a')
- उपयोगकर्ता ने Aकुंजी को नीचे धकेल दिया हैWM_CHAR('a')
-a
उपयोगकर्ता से एक चरित्र प्राप्त हुआ हैWM_CHAR('a')
-a
उपयोगकर्ता से एक चरित्र प्राप्त हुआ हैWM_CHAR('a')
-a
उपयोगकर्ता से एक चरित्र प्राप्त हुआ हैWM_CHAR('a')
-a
उपयोगकर्ता से एक चरित्र प्राप्त हुआ हैWM_CHAR('a')
-a
उपयोगकर्ता से एक चरित्र प्राप्त हुआ हैWM_KEYUP('a')
- उपयोगकर्ता Aकुंजी जारी की है
एक पाठ नियंत्रण में प्रदर्शित होने वाले पांच वर्ण होंगे: aaaaa
महत्वपूर्ण बिंदु यह है कि आप WM_CHAR
संदेश का जवाब देते हैं , जो दोहराता है। अन्यथा आप एक कुंजी दबाए जाने पर घटनाओं को याद करते हैं।
में एचटीएमएल बातें थोड़े अलग हैं:
onKeyDown
onKeyPress
onKeyDown
onKeyPress
onKeyDown
onKeyPress
onKeyDown
onKeyPress
onKeyDown
onKeyPress
onKeyUp
Html एक KeyDown
और KeyPress
हर कुंजी दोहराता है। और KeyUp
ईवेंट केवल तभी उठाया जाता है जब उपयोगकर्ता कुंजी जारी करता है।
रास्ते ले लो
- मैं इस पर प्रतिक्रिया दे सकता हूं
onKeyDown
या कर सकता हूंonKeyPress
, लेकिनinput.value
अद्यतन किए जाने से पहले दोनों उठाए गए हैं - मैं इसका जवाब नहीं दे सकता
onKeyUp
, क्योंकि यह पाठ-बॉक्स में पाठ के रूप में नहीं होता है।
प्रश्न: मुझे टेक्स्ट-बॉक्स का पाठ कैसे मिलता है onKeyPress
?