如何解决检测更改的输入文本框
| 我查看了许多其他问题,并找到了非常简单的答案,包括下面的代码。我只是想检测何时有人更改了文本框的内容,但是由于某种原因它不起作用...我没有收到控制台错误。当我在浏览器中的“ 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 举报,一经查实,本站将立刻删除。