我还研究了许多其他问题,并找到了非常简单的答案,包括下面的代码。我只是想检测当有人改变文本框的内容,但由于某种原因,它不工作…我没有得到控制台错误。当我在浏览器的change()函数中设置断点时,它永远不会碰到它。
$('#inputDatabaseName').change(function () {
alert('test');
});
<input id="inputDatabaseName">
我还研究了许多其他问题,并找到了非常简单的答案,包括下面的代码。我只是想检测当有人改变文本框的内容,但由于某种原因,它不工作…我没有得到控制台错误。当我在浏览器的change()函数中设置断点时,它永远不会碰到它。
$('#inputDatabaseName').change(function () {
alert('test');
});
<input id="inputDatabaseName">
当前回答
试试keyup而不是change。
<script type="text/javascript">
$(document).ready(function () {
$('#inputDatabaseName').keyup(function () { alert('test'); });
});
</script>
下面是.keyup()的官方jQuery文档。
其他回答
试试keyup而不是change。
<script type="text/javascript">
$(document).ready(function () {
$('#inputDatabaseName').keyup(function () { alert('test'); });
});
</script>
下面是.keyup()的官方jQuery文档。
当浏览器对文本框执行自动填充时,Onkeyup, onpaste, onchange, oninput似乎失败了。要处理这种情况,包括"autocomplete='off'"在你的文本框,以防止浏览器自动填充文本框,
Eg,
<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>
$('#inputDatabaseName').change(function(){
alert('Changed!')
});
源
我认为你也可以使用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;
}
});
你可以像这样在jQuery中使用输入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();"/>