文本输入事件处理程序

时间:2011-08-30 22:46:50

标签: javascript html dom browser

我有一个文本输入和一个处理程序例程testFunc(input.value)

时应该调用

testFunc

  1. 按下字母键时
  2. 当使用更新的值命中退格时(即当初始输入为1234时,当从末尾命中退格时,输入应该是123到testFunc例程)
  3. 如果输入是1234,并且从中间的某个位置(即1234)命中退格,那么testfunc应该被称为testFunc(234)。
  4. 2,3对于DELETE键也应该类似。
  5. 我尝试使用onkeypress和onkeyup,但是一些testFunc处理程序例程没有得到更新的值(或)testFunc例程本身也没有被调用。

    任何人都可以告诉我如何解决此问题或Javascript中是否存在任何现有的API

2 个答案:

答案 0 :(得分:3)

您可以使用HTML5 input事件,该事件在输入值更改时触发,并在值更改后触发。结合IE解决方案,它令人惊讶地兼容。请参阅以下答案:

jQuery keyboard events

答案 1 :(得分:0)

在哪些浏览器中?每当按下一个键时,以下内容始终显示输入的当前值:

  <script type="text/javascript">

  function show(s) {
    document.getElementById('msg').innerHTML = s;
  }

  </script>

  <input type="text" onkeyup="show(this.value);">

  <div id="msg"></div>