Javascript 如何区分onKeyDown和onClick事件(input=&x201C;radio&x201D;)
如何在“onClick”功能中,检查单击是由onClick事件触发的-是由鼠标触发的还是由键盘触发的Javascript 如何区分onKeyDown和onClick事件(input=&x201C;radio&x201D;),javascript,events,onclick,keyboard-events,onkeydown,Javascript,Events,Onclick,Keyboard Events,Onkeydown,如何在“onClick”功能中,检查单击是由onClick事件触发的-是由鼠标触发的还是由键盘触发的 const onClick = () => { console.log("onClick"); } const onKeyDown = (e) => { console.log("onKeyDown"); } const Root = () => ( <div> <input type="radio" id="Name" name="contact
const onClick = () => {
console.log("onClick");
}
const onKeyDown = (e) => {
console.log("onKeyDown");
}
const Root = () => (
<div>
<input type="radio" id="Name" name="contact" onClick={onClick}
onKeyDown={onKeyDown}/>
<label for="Name">Name</label>
<input type="radio" id="Email" name="contact" onClick={onClick}
onKeyDown={onKeyDown}/>
<label for="Email">Email</label>
</div>
)
const onClick=()=>{
console.log(“onClick”);
}
const onKeyDown=(e)=>{
控制台日志(“onKeyDown”);
}
常量根=()=>(
名称
电子邮件
)
当我单击向下或向上箭头(我用键盘更改收音机选项)时,将调用onKeyDown和onClick事件 作为这些函数的名称指定。当用户按键盘键时会触发onKeyDown。及
当用户通过鼠标或任何其他设备单击字段时,onClick触发。
事件。键入将给出事件的名称
document.getElementById('dempRadio').addEventListener('click',函数(e){
console.log(e.type)
})
document.getElementById('dempRadio')。addEventListener('keydown',函数(e){
console.log(e.type)
})
Test
您可以检查事件是否具有e.pageX
和e.pageY
坐标:
if (e.type === 'click' && e.pageX !== 0 && e.pageY !== 0)
document.querySelectorAll('[type=“radio”]').forEach(elem=>{
元素addEventListener('单击',(e)=>{
如果(e.type==='单击'&&e.pageX!==0&&e.pageY!==0){
console.log(e.type);
}
});
元素addEventListener('keydown',(e)=>{
console.log(e.type);
});
});代码>
名称
电子邮件
OnKeyDown事件调用函数OnKeyDown和onClick:e.clientX和e.clientY在浏览器IE和EDGE上不起作用/