दिलचस्प पोस्ट
मैं अपने रूबी संस्करण को RVM का उपयोग कैसे कर सकता हूं? मैं कैसे जांचूं अगर कोई चर मौजूद है? स्थानीय होस्ट पर, मैं एक निःशुल्क पोर्ट नंबर कैसे चुनूं? JQGrid: सामग्री के आधार पर गतिशील रूप से एक सेल सेट नहीं किया जा सकता है आप कैसे एक UIPickerView घटक लपेटो चारों ओर? बाइट स्ट्रिंग बनाम यूनिकोड स्ट्रिंग अजगर PHP में सभी सर्वर के सत्रों के माध्यम से लूपिंग ASP.NET एमवीसी – रीडायरेक्ट टीओएक्शन में मॉडलस्टेट की त्रुटियां कैसे सुरक्षित रखी जाती हैं? स्ट्रिंग होने का तरीका। केवल "पूरे शब्दों" वस्तुओं की एक सरणी से, सरणी के रूप में एक संपत्ति का मूल्य निकालने जरूरत पड़ने पर निर्भरता बनाने के लिए XCode 4 कार्यस्थान को कॉन्फ़िगर करने का सही तरीका क्या है? क्या मैं मक्खी पर मोबाइल सफारी में व्यूपोर्ट मेटा टैग बदल सकता हूं? एंड्रॉइड स्क्लिट द्विदिश सिंक्रनाइज़ेशन सिकलाइट .NET फ़्रेमवर्क निर्देशिका पथ प्राप्त करना जेनेरिक इटरेटर

टेक्स्ट बॉक्स में एन्टर की पर जावास्क्रिप्ट के साथ एक बटन ट्रिगर करें

मेरे पास एक पाठ इनपुट और एक बटन है (नीचे देखें)। जब पाठ बॉक्स में एन्टर की दबाई जाती है तो बटन के क्लिक ईवेंट को ट्रिगर करने के लिए मैं जावास्क्रिप्ट का उपयोग कैसे करूं?

पहले से ही मेरे वर्तमान पृष्ठ पर एक अलग सबमिट बटन है, इसलिए मैं बस बटन सबमिट बटन नहीं कर सकता। और, मैं केवल इस विशिष्ट बटन को क्लिक करने के लिए एन्टर कुंजी चाहता हूं अगर यह एक पाठ बॉक्स के भीतर से दबाया जाता है, और कुछ नहीं।

<input type="text" id="txtSearch" /> <input type="button" id="btnSearch" value="Search" onclick="doSomething();" /> 

Solutions Collecting From Web of "टेक्स्ट बॉक्स में एन्टर की पर जावास्क्रिप्ट के साथ एक बटन ट्रिगर करें"

JQuery में, निम्नलिखित काम करेगा:

 $("#id_of_textbox").keyup(function(event) { if (event.keyCode === 13) { $("#id_of_button").click(); } }); 

या सादे जावास्क्रिप्ट में, निम्नलिखित काम करेगा:

 document.getElementById("id_of_textbox") .addEventListener("keyup", function(event) { event.preventDefault(); if (event.keyCode === 13) { document.getElementById("id_of_button").click(); } }); 

तो बस इसे में कोड!

 <input type = "text" id = "txtSearch" onkeydown = "if (event.keyCode == 13) document.getElementById('btnSearch').click()" /> <input type = "button" id = "btnSearch" value = "Search" onclick = "doSomething();" /> 

यह पता लगा:

 <input type="text" id="txtSearch" onkeypress="return searchKeyPress(event);" /> <input type="button" id="btnSearch" Value="Search" onclick="doSomething();" /> <script> function searchKeyPress(e) { // look for window.event in case event isn't passed in e = e || window.event; if (e.keyCode == 13) { document.getElementById('btnSearch').click(); return false; } return true; } </script> 

बटन को एक तत्व सबमिट करें, इसलिए यह स्वचालित हो जाएगा

 <input type = "submit" id = "btnSearch" value = "Search" onclick = "return doSomething();" /> 

ध्यान दें कि आपको यह काम करने के लिए इनपुट फ़ील्ड वाले एक <form> तत्व की आवश्यकता होगी (धन्यवाद सेर्गेई इलिंस्की)

यह मानक व्यवहार को फिर से परिभाषित करने के लिए एक अच्छा अभ्यास नहीं है, एंटर कुंजी हमेशा किसी फ़ॉर्म पर सबमिट बटन को कॉल करना चाहिए।

चूंकि किसी ने addEventListener का उपयोग नहीं किया है, इसलिए यहां मेरा संस्करण है। तत्वों को देखते हुए:

 <input type = "text" id = "txt" /> <input type = "button" id = "go" /> 

मैं निम्नलिखित का उपयोग करेगा:

 var go = document.getElementById("go"); var txt = document.getElementById("txt"); txt.addEventListener("keypress", function(event) { event.preventDefault(); if (event.keyCode == 13) go.click(); }); 

यह आपको एचटीएमएल स्वच्छ रखने के दौरान ईवेंट प्रकार और कार्य को अलग से बदलने के लिए अनुमति देता है।

ध्यान दें कि संभवतः यह सुनिश्चित करने के लिए सार्थक है कि यह एक <form> बाहर है, क्योंकि जब मैंने इन तत्वों को उनसे सम्मिलित किया है, तो दबाकर एंटर दर्ज करें और पृष्ठ को पुनः लोड कर दिया। मुझे खोजने के लिए कुछ झपकी ले लिया

परिशिष्ट : @फिफिन की एक टिप्पणी के लिए धन्यवाद, मैंने लापता ईवेंट हैंडलर को जोड़ा है और इस कोड को (संभवतया) किसी फ़ॉर्म के अंदर काम करने की अनुमति देने के लिए डिफॉल्ट को रोक दिया है। (मैं इसे परीक्षण करने के लिए चारों ओर ले जाऊंगा, उस बिंदु पर मैं ब्रैकेट वाली सामग्री को निकाल दूंगा।)

सादे जावास्क्रिप्ट में,

 if (document.layers) { document.captureEvents(Event.KEYDOWN); } document.onkeydown = function (evt) { var keyCode = evt ? (evt.which ? evt.which : evt.keyCode) : event.keyCode; if (keyCode == 13) { // For Enter. // Your function here. } if (keyCode == 27) { // For Escape. // Your function here. } else { return true; } }; 

मैंने देखा कि उत्तर ही jQuery में दिया गया है, इसलिए मैंने सोचा था कि सादे जावास्क्रिप्ट में कुछ भी देना है।

एक मूल चाल जिसे आपने पूरी तरह से उल्लेख नहीं किया है उसके लिए उपयोग कर सकते हैं I अगर आप एजेक्स की कार्रवाई करना चाहते हैं, या एन्टर पर कुछ अन्य काम करना चाहते हैं, लेकिन वास्तव में एक फॉर्म सबमिट नहीं करना चाहते हैं, तो आप यह कर सकते हैं:

 <form onsubmit="Search();" action="javascript:void(0);"> <input type="text" id="searchCriteria" placeholder="Search Criteria"/> <input type="button" onclick="Search();" value="Search" id="searchBtn"/> </form> 

सेटिंग = "जावास्क्रिप्ट: शून्य (0);" जैसे कि यह डिफ़ॉल्ट व्यवहार को रोकने के लिए एक शॉर्टकट है अनिवार्य रूप से इस मामले में एक विधि कहा जाता है कि क्या आप हिट दर्ज करें या बटन पर क्लिक करें और कुछ डेटा लोड करने के लिए एक एजेक्स कॉल किया जाता है।

प्रत्येक बार खोज को ट्रिगर करने के लिए एन्टर की दबाई जाती है, इसका प्रयोग करें:

 $(document).keypress(function(event) { var keycode = (event.keyCode ? event.keyCode : event.which); if (keycode == '13') { $('#btnSearch').click(); } } 

कोशिश करो:

 <input type="text" id="txtSearch"/> <input type="button" id="btnSearch" Value="Search"/> <script> window.onload = function() { document.getElementById('txtSearch').onkeypress = function searchKeyPress(event) { if (event.keyCode == 13) { document.getElementById('btnSearch').click(); } }; document.getElementById('btnSearch').onclick =doSomething; } </script> 
 onkeydown="javascript:if (event.which || event.keyCode){if ((event.which == 13) || (event.keyCode == 13)) {document.getElementById('btnSearch').click();}};" 

यह कुछ हद तक हाल की परियोजना से मेरे पास है … मैंने इसे नेट पर पाया, और मुझे कोई अंदाज़ा नहीं है कि सादे पुरानी जावास्क्रिप्ट में बेहतर तरीका है या नहीं

यद्यपि, मुझे पूरा यकीन है कि जब तक फॉर्म में केवल एक फ़ील्ड होता है और एक सबमिट बटन होता है, तो प्रवेश दर्ज करने के लिए फार्म सबमिट करना चाहिए, भले ही पेज पर कोई दूसरा फ़ॉर्म हो।

आप बाद में जेएस के साथ फॉर्म पर कब्जा कर सकते हैं और आप जो भी सत्यापन या कॉलबैक चाहते हैं

यह सभी YUI प्रेमियों के लिए यह एक समाधान है:

 Y.on('keydown', function() { if(event.keyCode == 13){ Y.one("#id_of_button").simulate("click"); } }, '#id_of_textbox'); 

इस विशेष मामले में मेरे पास DOM ऑब्जेक्ट को ट्रिगर करने के लिए YUI का उपयोग करने वाले बेहतर परिणाम हैं, जिन्हें बटन कार्यक्षमता से इंजेक्ट किया गया है – लेकिन यह एक और कहानी है …

यह बदलना बहुत ही करीब है, लेकिन ब्राउज़र के संबंध में बदले में (आगे सफारी 4.0.5 और फ़ायरफ़ॉक्स 3.6.3 पर) का दुरुपयोग किया जाता है, इसलिए अंत में, मैं इसकी सिफारिश नहीं करता।

 <input type="text" id="txtSearch" onchange="doSomething();" /> <input type="button" id="btnSearch" value="Search" onclick="doSomething();" /> 
 event.returnValue = false 

ईवेंट का संचालन करते समय इसका उपयोग करें या आपके ईवेंट हैंडलर कॉल के फ़ंक्शन में।

यह कम से कम इंटरनेट एक्सप्लोरर और ओपेरा में काम करता है

Jquery मोबाइल के लिए मुझे करना था

 $('#id_of_textbox').live("keyup", function(event) { if(event.keyCode == '13'){ $('#id_of_button').click(); } }); 

इस मामले में आप चाहते हैं कि पोस्टिंग सर्वर से पोस्ट करने से और जेएस स्क्रिप्ट को निष्पादित करें।

 <input type="text" id="txtSearch" onkeydown="if (event.keyCode == 13) {document.getElementById('btnSearch').click(); return false;}"/> <input type="button" id="btnSearch" value="Search" onclick="doSomething();" /> 

अंगुलर 2 में :

 (keyup.enter)="doSomething()" 

यदि आप बटन में कुछ दृश्य प्रतिक्रिया नहीं चाहते हैं, तो यह बटन का संदर्भ नहीं देने के लिए एक अच्छा डिज़ाइन है, बल्कि सीधे नियंत्रक का आह्वान करता है।

इसके अलावा, आईडी की आवश्यकता नहीं है – दृश्य और मॉडल के बीच अलग करने का एक अन्य एनजी 2 तरीका।

फार्म जमा के साथ @ icedwater के मुद्दे को संबोधित एक पूरी तरह से जावास्क्रिप्ट समाधान जोड़ने के लिए, यहां form साथ एक पूरा समाधान है

नोट: यह IE9 + सहित "आधुनिक ब्राउज़र" के लिए है IE8 संस्करण ज्यादा जटिल नहीं है, और इसे यहां सीखा जा सकता है ।


बेला: https://jsfiddle.net/rufwork/gm6h25th/1/

एचटीएमएल

 <body> <form> <input type="text" id="txt" /> <input type="button" id="go" value="Click Me!" /> <div id="outige"></div> </form> </body> 

जावास्क्रिप्ट

 // The document.addEventListener replicates $(document).ready() for // modern browsers (including IE9+), and is slightly more robust than `onload`. // More here: https://stackoverflow.com/a/21814964/1028230 document.addEventListener("DOMContentLoaded", function() { var go = document.getElementById("go"), txt = document.getElementById("txt"), outige = document.getElementById("outige"); // Note that jQuery handles "empty" selections "for free". // Since we're plain JavaScripting it, we need to make sure this DOM exists first. if (txt && go) { txt.addEventListener("keypress", function (e) { if (event.keyCode === 13) { go.click(); e.preventDefault(); // <<< Most important missing piece from icedwater } }); go.addEventListener("click", function () { if (outige) { outige.innerHTML += "Clicked!<br />"; } }); } }); 
 document.onkeypress = function (e) { e = e || window.event; var charCode = (typeof e.which == "number") ? e.which : e.keyCode; if (charCode == 13) { // Do something here printResult(); } }; 

यहाँ मेरे दो सेंट हैं मैं विंडोज 8 के लिए एक एप पर काम कर रहा हूं और जब मैं एन्टर बटन दबाता हूं तो बटन को एक क्लिक ईवेंट रजिस्टर करना चाहते हैं मैं जेएस में यह कर रहा हूं। मैंने कुछ सुझावों की कोशिश की, लेकिन मुद्दों पर था यह सिर्फ ठीक काम करता है।

किसी ने एचटीएमएल एटिब्यूट "एक्सेसकी" को देखा जो कुछ देर से उपलब्ध है। यह कुंजीपटल shorcut सामग्री के लिए कोई जावास्क्रिप्ट तरीका नहीं है।

accesskey_browsers

एक्सेस की विशेषता एमडीएन पर शॉर्टकट विशेषताएँ

इस तरह से इस्तेमाल करने के लिए आशय Html विशेषता स्वयं ही पर्याप्त है, हम ब्राउज़र और ओएस के अनुसार प्लेसहोल्डर या अन्य सूचक को बदल सकते हैं। स्क्रिप्ट एक विचार देने के लिए एक अनचाईत स्क्रैच दृष्टिकोण है। आप छोटे ब्राउजर की तरह एक ब्राउज़र लाइब्रेरी डिटेक्टर का उपयोग करना चाह सकते हैं

 let client = navigator.userAgent.toLowerCase(); isLinux = client.indexOf("linux") > -1; isWin = client.indexOf("windows") > -1; isMac = client.indexOf("apple") > -1; isFirefox = client.indexOf("firefox") > -1; isWebkit = client.indexOf("webkit") > -1; isOpera = client.indexOf("opera") > -1; input = document.getElementById('guestInput'); if(isFirefox) { input.setAttribute("placeholder", "Access keys: ALT+SHIFT+Z"); } else if (isWin) { input.setAttribute("placeholder", "Access keys: ALT+Z"); } else if (isMac) { input.setAttribute("placeholder", "Access keys: CTRL+ALT+Z"); } else if (isOpera) { input.setAttribute("placeholder", "Shortcut: SHIFT+ESCAPE->Z"); } else {'Point me to operate...'} 
 <input type="text" id="guestInput" accesskey="z" placeholder="Acces shortcut:"></input> 

इसे jQuery के साथ करने के लिए:

 $("#txtSearch").on("keyup", function (event) { if (event.keyCode==13) { $("#btnSearch").get(0).click(); } }); 

सामान्य जावास्क्रिप्ट के साथ ऐसा करने के लिए:

 document.getElementById("txtSearch").addEventListener("keyup", function (event) { if (event.keyCode==13) { document.getElementById("#btnSearch").click(); } }); 

यह भी मदद कर सकता है, एक छोटा जावास्क्रिप्ट फ़ंक्शन, जो ठीक काम करता है:

 <script type="text/javascript"> function blank(a) { if(a.value == a.defaultValue) a.value = ""; } function unblank(a) { if(a.value == "") a.value = a.defaultValue; } </script> <input type="text" value="email goes here" onfocus="blank(this)" onblur="unblank(this)" /> 

मुझे पता है कि इस प्रश्न का हल हो गया है, लेकिन मुझे कुछ मिला, जो दूसरों के लिए सहायक हो सकता है