Javascript 使用动态绑定的数据检测textarea中的更改?
我想检测Javascript 使用动态绑定的数据检测textarea中的更改?,javascript,jquery,data-binding,javascript-events,Javascript,Jquery,Data Binding,Javascript Events,我想检测元素的内容何时更改。对于用户所做的更改,我可以使用以下问题的解决方案: 它可以检测按键、粘贴事件等。但是如果数据是动态绑定的,比如使用AngularJS、MeteorJS等框架,该怎么办?然后我必须添加一个函数,与数据绑定函数一起在框架中运行 是否有一个Javascript或jQuery方法/事件监听器可以用来检测内容更改,而无需将其添加到框架中?您可以使用setInterval 这是jQuery的一个示例: Html 这是中的演示,感谢您的回答。但它似乎不起作用。我更新了我的代码,
元素的内容何时更改。对于用户所做的更改,我可以使用以下问题的解决方案:
它可以检测按键、粘贴事件等。但是如果数据是动态绑定的,比如使用AngularJS、MeteorJS等框架,该怎么办?然后我必须添加一个函数,与数据绑定函数一起在框架中运行
是否有一个Javascript或jQuery方法/事件监听器可以用来检测内容更改,而无需将其添加到框架中?您可以使用setInterval
这是jQuery的一个示例:
Html
这是中的演示,感谢您的回答。但它似乎不起作用。我更新了我的代码,这是JSFIDLE中的一个例子。框架是否有在绑定事件时触发的事件?如果是这样的话,听一听,找到所有元素并触发更改事件。@epascarello我相信不同的框架有不同的方法来实现这一点。我正在寻找一种非特定于框架的方法。仅仅因为有时候您继承了一个项目,并且期限很紧,所以对于框架来说使用RTFM是不实际的,即使这可能是最好的解决方案。有时候我只是想吃晚饭。
<textarea id="textarea"></textarea>
<a href="#" id="link">change text dynamicly</a>
<span id="status"></span>
$(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);
})