如何判断Javascript是否更改了HTML textarea

时间:2011-01-12 20:50:18

标签: javascript javascript-events textarea jquery

我正在使用的小部件修改HTML textarea元素。我需要知道该元素何时被修改,并且我最好还要实际隐藏该元素。我正在使用jQuery,所以我自然尝试了$('#textarea_id')。change()事件。但它从未被触发,因为我猜textarea永远不会失去焦点。

监控textarea的最佳方式是什么,最好隐藏(css有display:none)?请不要告诉我setInterval ......

2 个答案:

答案 0 :(得分:1)

您可以使用全局变量来管理它。

var text = "";

$('#textarea_id').bind("keyup paste", function(e){
    if ($(this).val() != text)
    {
        // text changed
        text = $(this).val();
    }    
});

工作示例:http://jsfiddle.net/n8keN/

答案 1 :(得分:0)

我会使用.keyup()。如果您不希望事件触发每个按键,请让它在每次按键时重新启动半秒计时器,并让计时器触发您在用户停止键入时要发生的事情。您可以根据自己的喜好玩耍。