मेरे पास एक पृष्ठ है जिसमें दो बटन हैं। एक <button>तत्व है और दूसरा एक है <input type="submit">। उस क्रम में पृष्ठ पर बटन दिखाई देते हैं। यदि मैं फ़ॉर्म और प्रेस में कहीं भी टेक्स्ट फ़ील्ड में हूँ <Enter>, तो बटन एलिमेंट का clickईवेंट ट्रिगर हो जाता है। मुझे लगता है कि क्योंकि बटन तत्व पहले बैठता है।
मुझे डिफ़ॉल्ट बटन सेट करने का एक विश्वसनीय तरीका जैसा कुछ भी नहीं मिल रहा है, और न ही मैं इस बिंदु पर आवश्यक रूप से चाहता हूं। कुछ भी बेहतर नहीं होने की स्थिति में, मैंने फॉर्म पर कहीं भी एक कीपर कैप्चर किया है और यदि वह <Enter>कुंजी है जिसे दबाया गया है, तो मैं इसे नकार रहा हूं:
$('form').keypress( function( e ) {
var code = e.keyCode || e.which;
if( code === 13 ) {
e.preventDefault();
return false;
}
})
जहां तक मैं बता सकता हूं, यह काम कर रहा है, लेकिन यह अविश्वसनीय रूप से हैम-फेन लगता है।
क्या किसी को ऐसा करने के लिए एक अधिक परिष्कृत तकनीक का पता है?
इसी तरह, क्या इस समाधान के लिए कोई नुकसान है जो मुझे नहीं पता है?
धन्यवाद।