Javascript 如何使用按钮编辑或输入焦点InputElement

Javascript 如何使用按钮编辑或输入焦点InputElement,javascript,jquery,html,Javascript,Jquery,Html,我对自己用javascript制作的numpad的输入有问题。我有双输入必须填写。我只想在聚焦时输入InputElement。当我在自己的numpad中单击按钮时,结果会输入到我拥有的两个输入中。那么,如何使我的输入只针对InputElement呢 我尝试使用if($('input')。在(':focus'))中,但没有给出响应 这里是输入 <div class='form-row align-items-center'> <div class='col-auto'>

我对自己用javascript制作的numpad的输入有问题。我有双输入必须填写。我只想在聚焦时输入InputElement。当我在自己的numpad中单击按钮时,结果会输入到我拥有的两个输入中。那么,如何使我的输入只针对InputElement呢

我尝试使用
if($('input')。在(':focus'))
中,但没有给出响应

这里是输入

<div class='form-row align-items-center'>
  <div class='col-auto'>
    <div class='input-group mb-2'>
      <div class='input-group-prepend'>
         <div class='input-group-text'>Rp.</div>
      </div>
      <input id='paymentnominal' name='nominal' value='' class='form-control' placeholder='Nominal'>
    </div>
  </div>
  <div class='col-auto'>
    <div class='input-group mb-2'>
      <div class='input-group-prepend'>
        <div class='input-group-text'>123</div>
      </div>
    <input id='cardnumber' name='cardnumber' value='' class='form-control' placeholder='Card Number'>
    </div>
  </div>
  <div class='col-auto'>
    <button id='submit' class='btn bg-maroon mb-2'>Add</button>
  </div>
</div>

单击
后,两个输入都不再具有焦点。您需要跟踪最后一次重点输入

var focusedInput=null;
$(document.body).on('focus','input',function(){
聚焦输入=此;
});
$('.numpad1')。单击(函数(){
如果(聚焦输入){
focusedInput.value=focusedInput.value+'1';
}
});
按钮{
宽度:30%;
显示:内联块;
}

卢比。
123
添加
1.
2.
3.
4.
5.
6.
7.
8.
9
0
00
X

当我的鼠标在没有id的InputElement中聚焦时,我想输入。可以吗?您可以这样做。。。var输入=document.querySelectorAll(“输入”);对于(让i=0;iHi@halococ,您可以引用以下内容:此代码未在我的javascript中运行:
$('input').focus(function(){focusedInput=this;});
。当我使用
var focusedInput=null;$('body')。打开(“input”).focus(function(){focusedInput=this;})
也没有运行。看看我的编辑。input
on('input')中完整的html
是一个事件,不是对
input
元素的引用,所以这肯定不起作用。我没有看到一个编辑演示了您在第一部分中描述的问题。我更新了答案,以演示
on()的正确用法
在此上下文中。谢谢。
$(document.body)。在('focus',input',function(){focusedInput=this;});
工作。如果我单击按钮,则再次执行一部分。仍然发现错误。谢谢。所有工作正常,我已使用脚本代码编辑了您的答案
<button class='numpad1'>1</button>
<button class='numpad2'>2</button>
<button class='numpad3'>3</button>
<button class='numpad4'>4</button>
<button class='numpad5'>5</button>
<button class='numpad6'>6</button>
<button class='numpad7'>7</button>
<button class='numpad8'>8</button>
<button class='numpad9'>9</button>
<button class='numpad0'>0</button>
<button class='numpad00'>00</button>
<button class='numpadx'>X</button>
$('.numpad1').click(function(){
  $( 'input' ).val( function( index, val ) {
    return val + "1";
  });
});
var numPad1 = document.getElementsByClassName('numpad1')[0];
var paymentInput = document.getElementById('paymentnominal');
numPad1.onclick= function(){
   paymentInput.value = paymentInput.value+''+1;
}