有更好的改变吗?

时间:2009-05-08 23:06:25

标签: javascript

我有一个textarea,当它改变时,我想要一个函数被调用。

但是,焦点离开textarea后,标准onchange事件将触发。我真正想要的是,一旦用户开始输入,偶数就会被激活。

我可以绑定onkeypress,但是不能处理,比如用鼠标将文本粘贴到textarea中。此外,它还可以触发Tab和其他不变的按键。

有更好的解决方案吗?

2 个答案:

答案 0 :(得分:4)

您可以添加

onkeyup="SomeFunction();"
编辑:啊,太快了。我没有看到“鼠标粘贴”。

编辑2:

<script type="text/javascript">
    var ival = "";
    var checkup = window.setInterval("checkChange();", 100);
    function checkChange() {
        var nval = document.getElementById("test").value;
        if (nval!=ival) { alert("change in the text"); ival=nval; }
     }
</script>
<input type="text" id="test" name="test" value="" />

示例来自:http://bytes.com/topic/javascript/answers/703623-capturing-event-when-user-right-click-paste-into-text-box

答案 1 :(得分:0)

onKeyPress将起作用,只是在粘贴编码的情况下 - 你会知道它被粘贴,因为它将包含换行符,就好像你只是在文本字段中输入一样 - 换行符不会出现

只需检查换行符并使用onKeyPress