我正在尝试将 keyup 函数添加到使用 jquery 添加到 DOM 的输入字段。
$("#testDiv").html("<input id='testTextbox' name='testTextbox' type='text' onkeyup='testKeyUp(this)'>");
一旦用户在 testTextbox
中输入值并按下回车键,我想执行一些操作。
keyup 函数如下:
function testKeyUp(e) {
alert(e.keyCode+" : "+e.which);
}
e.keyCode
和 e.which
返回未定义。
如何在 keyup 函数中获取键码?谁能帮我解决这个问题吗?提前致谢。
最佳答案
使用内联事件会使事情变得复杂。 e
在函数中充当 this
的 Angular 色。稍微修改代码以删除内联事件会更容易,而是将其编写为:
$("#testDiv").html("<input id='testTextbox' name='testTextbox' type='text'>");
var textInput = document.getElementById('testTextbox');
textInput.addEventListener('keyup', function(e){
alert(e.keyCode+" : "+e.which);
});
或者
$("#testDiv").html("<input id='testTextbox' name='testTextbox' type='text'>");
$('#testTextbox').on('keyup', function(e){
alert(e.keyCode+" : "+e.which);
});
这是一个工作示例:
$("#testDiv").html("<input id='testTextbox' name='testTextbox' type='text'>");
var textInput = document.getElementById('testTextbox');
textInput.addEventListener('keyup', function(e){
alert(e.keyCode+" : "+e.which);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="testDiv"></div>
关于javascript - 在 keyup 函数中未获取键码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47671570/