微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

检测更改的输入文本框

如何解决检测更改的输入文本框

| 我查看了许多其他问题,并找到了非常简单的答案,包括下面的代码。我只是想检测何时有人更改了文本框的内容,但是由于某种原因它不起作用...我没有收到控制台错误。当我在浏览器中的“ 0”功能处设置断点时,它永远不会命中它。
$(\'#inputDatabaseName\').change(function () { 
    alert(\'test\'); 
});
<input id=\"inputDatabaseName\">
    

解决方法

        您可以像这样在jQuery中使用the3ѭJavascript事件:
$(\'#inputDatabaseName\').on(\'input\',function(e){
    alert(\'Changed!\')
});
在纯JavaScript中:
document.querySelector(\"input\").addEventListener(\"change\",function () {
  alert(\"Input Changed\");
})
或像这样:
<input id=\"inputDatabaseName\" onchange=\"youFunction();\"
onkeyup=\"this.onchange();\" onpaste=\"this.onchange();\" oninput=\"this.onchange();\"/>
    ,        尝试键入而不是更改。
<script type=\"text/javascript\">
   $(document).ready(function () {
       $(\'#inputDatabaseName\').keyup(function () { alert(\'test\'); });
   });
</script>
这是.keyup()的官方jQuery文档。     ,        每个答案都缺少一些要点,所以这是我的解决方案:
$(\"#input\").on(\"input\",function(e) {
  var input = $(this);
  var val = input.val();

  if (input.data(\"lastval\") != val) {
    input.data(\"lastval\",val);

    //your change action goes here 
    console.log(val);
  }

});
<script src=\"https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js\"></script>
<input type=\"text\" id=\"input\">
<p>Try to drag the letters and copy paste</p>
,        文本输入在失去焦点之前不会触发
change
事件。单击输入之外,将显示警报。 如果在文本输入失去焦点之前触发回调,请使用
.keyup()
事件。     ,        当浏览器在文本框上执行自动填充时,12ѭ似乎失败。要处理这种情况,请在文本字段中添加\“
autocomplete=\'off\'
\”,以防止浏览器自动填充文本框, 例如,
<input id=\"inputDatabaseName\" autocomplete=\'off\' onchange=\"check();\"
 onkeyup=\"this.onchange();\" onpaste=\"this.onchange();\" oninput=\"this.onchange();\" />

<script>
     function check(){
          alert(\"Input box changed\");
          // Things to do when the textbox changes
     }
</script>
    ,        就我而言,我有一个附加到日期选择器的文本框。对我来说唯一有效的解决方案是在datepicker的onSelect事件中处理它。
<input type=\"text\"  id=\"bookdate\">

$(\"#bookdate\").datepicker({            
     onSelect: function (selected) {
         //handle change event here
     }
});
    ,        我想您也可以使用
keydown
$(\'#fieldID\').on(\'keydown\',function (e) {
  //console.log(e.which);
  if (e.which === 8) {
    //do something when pressing delete
    return true;
  } else {
    //do something else
    return false;
  }
});
    ,        工作:
$(\"#ContentPlaceHolder1_txtNombre\").keyup(function () {
    var txt = $(this).val();
        $(\'.column\').each(function () {
            $(this).show();
            if ($(this).text().toUpperCase().indexOf(txt.toUpperCase()) == -1) {
                $(this).hide();
            }
        });
    //}
});
    

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。