【问题标题】:Trigger function on number input [closed]数字输入触发功能[关闭]
【发布时间】:2017-11-06 02:16:13
【问题描述】:

我有一个用户可以写地址的文本输入,我想在文本输入中输入数字时触发一个javascript函数,我该如何实现?

编辑:我需要知道何时输入了一个数字,通过 jquery 的 onkeyup 就像一个魅力,这就是我所做的:

$("#q").keyup((e) => {

        var value = $("#q").val();

        var regex = new RegExp("[a-zA-Z0-9_ ]\\d+");

        var succeded = regex.test(value);

        ...

【问题讨论】:

  • 到目前为止你做了什么?
  • 添加代码sn-p
  • “我怎样才能实现它” 通过做一些研究、尝试、出错、查找解决方案(而不是 SO)。 StackOverflow 应该是您寻求解决方案的最后一个地方
  • 您应该能够使用Jquery keypress 或keydown 或keyup 事件然后检查是否输入了数字。然后您可以触发相应的功能。最好在此处添加一些代码sn-p。

标签: javascript jquery


【解决方案1】:
$('.js-input').on('keydown', function(e) {
    console.log('pressing:', e.keyCode);
});

<input type="text" class="js-input">

DEMO

这会让你开始

【讨论】:

    【解决方案2】:

    这将完成你的工作:

    $('#tbInput').keypress(function(event){
    
    if(event.which != 8 && isNaN(String.fromCharCode(event.which))){
    }
    else
    {
    //Your function that you want to trigger.
    alert("You pressed a numberic key: " + event.which);
    }});
    

    你可以在这里测试它: JSFIDDLE DEMO

    【讨论】:

      【解决方案3】:

      你可以这样做:

      $("input").keyup(function(){
          $("input").css("background-color", "pink");
      });
      

      Source

      【讨论】:

        【解决方案4】:

        您只需要在 KeyEvents 中使用 build,例如(keyDown、keyUp、keyPress 等)。 你可以找到很多关于它的信息。 KeyboardEvent mozilla

        1. 创建 html 输入,并提供唯一 ID。
        2. 表单 JS 代码采用此元素。
        3. 然后将事件处理程序绑定到目标元素。

          ["YOUR_ELEMENT"].addEventListener("keypress", function(e) { console.log(e.value);}, false);

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2015-12-02
          • 1970-01-01
          • 2023-03-15
          • 2012-08-22
          • 2018-01-19
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多