简体   繁体   English

自定义按钮可将焦点移到单击上,而不是输入Enter上

[英]Custom button remove focus on click but not on Enter keypress

Whats the best approach to remove focus from a button on mouse click but not when the Enter key is pressed using Javascript? 什么是从鼠标单击按钮上移开焦点而不是使用Javascript按下Enter键时移开焦点的最佳方法? I am using the blur() method on the click event but that doesn't work. 我在click事件上使用blur()方法,但是不起作用。

Please note that I cannot use outline: none or outline: 0 for accessibility reasons. 请注意,由于可访问性原因,我不能使用outline: noneoutline: 0 For more info refer to: http://www.outlinenone.com/ 有关更多信息,请参阅: http : //www.outlinenone.com/

 var button = document.getElementById("btn"); button.addEventListener("click", removeFocus); function removeFocus(event) { event.target.blur(); } 
 button { display: inline-block; border: none; height: 36px; line-height:36px; padding: 0 12px; background: cyan; } 
 <button id="btn"> Hello </button> 

Javascript solution Javascript解决方案

 var button = document.getElementById("btn"); button.addEventListener("click", clickEvent); button.addEventListener("keypress", clickEvent); function clickEvent(event){ if (event.keyCode == 13) { event.preventDefault(); } else { button.blur(); } } 
 button { display: inline-block; border: none; height: 36px; line-height:36px; padding: 0 12px; background: cyan; } 
 <button id="btn"> Hello </button> 

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 搜索按钮单击使用javascript输入的按键 - Search button click on keypress of enter using javascript 使用Enter键按下事件并单击鼠标触发提交按钮 - Triggering submit button with Enter keypress event and mouse click 如何在反应js中消除对按钮单击的关注? - how to remove focus on button click in react js? 如何在反应中消除对按钮单击的关注? - how to remove focus on button click in react? 将按键变成按钮单击 - Turning keypress into a button click 在按钮单击时触发按键 - Trigger keypress on button click Function 适用于“输入”,但不适用于“点击按钮”(虽然,我只向按钮添加了事件,而不是按键) - Function works with 'enter', but not 'button click' (Although, I only added event to button, not to keypress) 在asp.net中同时执行javascript函数和输入clickpress上的按钮单击事件 - execute a javascript function and button click event on enter keypress at the same time in asp.net 当多个事件附加到按钮时,Enter键会触发click事件和keypress - Enter key fires both click event and keypress when multiple events are attached to button 当焦点位于按钮上时,如何防止“keypress”事件触发“click”事件 - javascript/html dom - How to prevent a "keypress" event firing a "click" event when focus is on a button - javascript/html dom
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM