Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
376 views
in Technique[技术] by (71.8m points)

javascript - How to detect the mouse click from browser triggered by Enter key press?

I notice that on modern browsers such as Chrome, when placing one text field and one button within a form element. If enter key is pressed from the text field, the button will get clicked with a mouse click event issued by browser.

Since the only button within the form isn't used for submitting the form, is there a way for that button to only accept user click instead of browser click?

<form action="javascript:void(0)">
  <input type="text"/>
  <button id="btn">Submit</button>
</form>
var btn = document.getElementById("btn");
btn.onclick = function() {
  alert("button clicked");
}

https://codepen.io/stevenz1987/pen/poEBmqv

question from:https://stackoverflow.com/questions/65840309/how-to-detect-the-mouse-click-from-browser-triggered-by-enter-key-press

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

You need to assign the "type" attribute to the "button" element. Like below:

var btn = document.getElementById("btn");
btn.onclick = function(e) {
  e.preventDefault();
  debugger;
  alert(123);
}
<form action="javascript:void(0)">
  <input type="text"/>
<button type="button" id="btn">Submit</button>
  </form>

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...