如何在javascript中按文本输入键按功能?

时间:2015-03-01 01:03:47

标签: javascript onkeypress

使用

<input type="text" onKeyPress="alert(this.value)">

警告框显示框中的值,不包括当前按下的键。

然而,这并没有表现出相同的行为,我不知道为什么。

<input type="text" onKeyPress="handleInput(this.value)">

function handleInput(value){
    alert(value);
}

添加了 http://jsfiddle.net/abalter/adbbb599/6/

3 个答案:

答案 0 :(得分:3)

首先要避免在html标签中使用js代码这是一个不好的做法 ,您可以使用keyup事件在用户释放任何按下的键后获取输入的内容

<input id="input">

<script>
  var input = document.getElementById('input');
  input.addEventListener('keyup',function(){alert(input.value);});

</script>

答案 1 :(得分:2)

它应该表现出相同的行为。 确保在头部或身体标签中加载javascript,以便从html访问该功能。

此代码适用于我:

<input type="text" onKeyPress="handleInput(this.value)">
    <script>
        function handleInput(value){
            alert(value);
        }
    </script>

答案 2 :(得分:1)

传递&#39;价值&#39;作为参数通常是verbotim - 它是一个保留字。你的这个&#39;是指输入字段,因此&#39; this.value&#39;返回输入字段的全部内容。要从keypress事件中获取keyCode,请尝试:

<body>
<input type="text" onKeyPress="handleInput();">
</body>
<script>
function handleInput(){
    alert(event.charCode);
}
</script>

这不适用于:

onKeyPress="event.charCode;"

或:

onKeyPress="this.event.charCode;"

因为没有创建事件对象。