Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/369.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何区分onKeyDown和onClick事件(input=&x201C;radio&x201D;)_Javascript_Events_Onclick_Keyboard Events_Onkeydown - Fatal编程技术网

Javascript 如何区分onKeyDown和onClick事件(input=&x201C;radio&x201D;)

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

如何在“onClick”功能中,检查单击是由onClick事件触发的-是由鼠标触发的还是由键盘触发的

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上不起作用/