通过 onkeydown() 内联函数检测文本输入中按下的按键

问题描述 投票:0回答:2

我有以下内容

<input name='blah[]' onkeydown="itemKeyDown(this)">

是否可以在 itemKeyDown() 函数中检测按下了什么键?

我尝试了通常的方法:

e.keyCode || e.which

但它返回未定义。

注意: 我可以用 jQuery 方式做到这一点,但我需要在 HTML 代码(标签内)中专门附加函数调用,因为我动态生成此文本字段的大量副本,这样生成的所有字段都将继承函数调用。我不想将侦听器绑定到文本字段,所有这些都是生成的。

javascript jquery keypress
2个回答
4
投票

就这样?

function itemKeyDown(e) {
    console.log(e.keyCode || e.which);
}
<input name='blah[]' onkeydown="itemKeyDown(event)">


3
投票

<input name='blah[]' onkeydown="itemKeyDown(this)">

这个关键字不携带有关 onkeydown 事件的任何信息,它代表 DOM 元素(输入)

要获取事件数据,您应该传递事件关键字,例如:

<input name='blah[]' onkeydown="itemKeyDown(event)">

<script>
function itemKeyDown(e)
{
  console.log(e.keyCode)
}

</script>

© www.soinside.com 2019 - 2024. All rights reserved.