Javascript onfocusin事件仅在输入中

Javascript onfocusin事件仅在输入中,javascript,Javascript,我有一个带有表单的简单代码带有onfocusin。当我聚焦输入时调用此事件,这是正确的。但是当我按下按钮时也会调用该事件。如何告诉javascript忽略此onfocusin事件到按钮 示例如下: 发送! 您可以使用事件目标筛选按钮元素 函数焦点函数(e){ 如果(e.target.tagName!=“按钮”){ console.log('Input received Focus') } } 发送! 您可以使用事件目标筛选按钮元素 函数焦点函数(e){ 如果(e.targe

我有一个带有
表单的简单代码
带有
onfocusin
。当我聚焦
输入时调用此事件,这是正确的。但是当我按下
按钮时也会调用该事件。如何告诉javascript忽略此
onfocusin
事件到
按钮

示例如下:




发送!
您可以使用事件目标筛选按钮元素

函数焦点函数(e){
如果(e.target.tagName!=“按钮”){
console.log('Input received Focus')
} 
}




发送!
您可以使用事件目标筛选按钮元素

函数焦点函数(e){
如果(e.target.tagName!=“按钮”){
console.log('Input received Focus')
} 
}




发送!
您还可以在事件中为聚焦提供输入字段

<form>
  <input placeholder="name" onfocusin="console.log('Input received Focus')" /><br>
  <input placeholder="age" onfocusin="console.log('Input received Focus')"/><br>
  <input placeholder="full name" onfocusin="console.log('Input received Focus')"/><br>
  <button type="button">Send!</button>
</form>




发送!
或者为这个做功能,

<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body> 
<form>
      <input placeholder="name" onfocusin="myFunc()" /><br>
      <input placeholder="age" onfocusin="myFunc()"/><br>
      <input placeholder="full name" onfocusin="myFunc()"/><br>
      <button type="button">Send!</button>
</form>
<script type="text/javascript">
    function myFunc(){
        console.log('Input received Focus');
    }
     </script>
</body>
</html>




发送! 函数myFunc(){ log(“输入接收焦点”); }
您还可以在事件中为聚焦提供输入字段

<form>
  <input placeholder="name" onfocusin="console.log('Input received Focus')" /><br>
  <input placeholder="age" onfocusin="console.log('Input received Focus')"/><br>
  <input placeholder="full name" onfocusin="console.log('Input received Focus')"/><br>
  <button type="button">Send!</button>
</form>




发送!
或者为这个做功能,

<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body> 
<form>
      <input placeholder="name" onfocusin="myFunc()" /><br>
      <input placeholder="age" onfocusin="myFunc()"/><br>
      <input placeholder="full name" onfocusin="myFunc()"/><br>
      <button type="button">Send!</button>
</form>
<script type="text/javascript">
    function myFunc(){
        console.log('Input received Focus');
    }
     </script>
</body>
</html>




发送! 函数myFunc(){ log(“输入接收焦点”); }




发送! const$inputs=document.querySelectorAll('form>input'); $inputs.forEach(input=>input.addEventListener('focus',()=>console.log('input-received-focus'))




发送! const$inputs=document.querySelectorAll('form>input'); $inputs.forEach(input=>input.addEventListener('focus',()=>console.log('input-received-focus'))
您不能告诉它忽略事件本身,但您可以检查处理程序函数中的事件目标(请仔细阅读),然后根据该目标决定是否要进一步执行操作,你不能告诉它忽略事件本身,但你可以检查处理函数中的事件目标(去读一下),然后根据它决定你是想做进一步的事情,还是在那一点上退出。这个答案是我见过的最清晰的答案。谢谢这是我见过的最干净的答案。谢谢这是可行的,但如果我有50个输入,就很难维护这段代码=/这是可行的,但如果我有50个输入,就很难维护这段代码=/