使用动态绑定数据检测textarea中的更改?

时间:2014-12-28 14:10:13

标签: javascript jquery data-binding javascript-events

我想检测<textarea>元素的内容何时发生了变化。对于用户所做的更改,我可以在这些问题中使用解决方案:

  1. How can I bind to the change event of a textarea in jQuery?
  2. Textarea onchange detection
  3. 可以检测按键,粘贴事件等。但是,如果数据是动态数据绑定的,例如使用AngularJS,MeteorJS等框架,那么我必须在数据绑定的框架中添加一个函数。功能

    我是否可以使用Javascript或jQuery方法/事件监听器来检测内容更改,而无需在框架中添加它?

1 个答案:

答案 0 :(得分:0)

您可以使用setInterval 这是jQuery的一个例子:

HTML

 <textarea id="textarea"></textarea>
<a href="#" id="link">change text dynamicly</a>
<span id="status"></span>

的Javascript

$(function(){
    $('#textarea').data('old',$('#textarea').val())
    $('#link').on('click',function(){
          $('#textarea').val('text changed dynamicly');
        return false;
    })
    setInterval(function() { 
        if($('#textarea').val() != $('#textarea').data('old')){
            $('#status').html('text of textarea is changed to : ' + $('#textarea').val())
        }
         $('#textarea').data('old',$('#textarea').val())
    }, 100);
})

这是jsfiddle

中的演示