javascript - 在 keyup 函数中未获取键码

标签 javascript jquery events onkeyup

我正在尝试将 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.keyCodee.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/

相关文章:

c# - 具有数据绑定(bind)和常量字符串的 WPF 窗口标题

c# - 使用 lambda 和事件在 C# 中使用技巧

javascript - SlideToggle 状态不适用于多个框

jquery - 有条件地删除文本

javascript - 使用函数式编程 [filter, map, some, reduce etc] 在 Typescript 中过滤数组

javascript - $(class).click() 不起作用

jquery - 如何使用 jquery 设置 <div> 来切换它自己的大小

php - Symfony 2 Doctrine MongoDB 实体监听器

javascript - React-Router Link 不触发组件刷新

c# - 从 ASPX 将多个 Eval 参数传递给 JavaScript 函数