我正在尝试监控textarea中的任何更改:
<textarea id="log-box__data"></textarea>
通过jQuery append
对textarea 完全进行了更改:
$(document).on('click', '#myBtn', function(e) {
$('#log-box__data').append('someText' + '\n');
});
当textarea append
[ed]的某些内容被触发时会触发什么事件?
而且,如果没有,我该如何监控这一变化?
我尝试的事情:
$(document).on('input change keyup paste', '#log-box__data', function() {
alert( "foobar" );
});
单击#myBtn
时,这些事件都不会触发。
答案 0 :(得分:1)
追加后使用触发功能会有帮助
$(document).on('click', '#myBtn', function(e) {
$('#log-box__data').append('someText' + '\n');
$('#log-box__data').trigger("change");
});
$('#log-box__data').on('change', function(e) {
alert( "foobar" );
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<textarea id="log-box__data"></textarea><br />
<button id="myBtn">add text</button>
答案 1 :(得分:0)
追加不是一个好主意,并且设置一个值永远不会调用onchange事件,所以尝试下面的代码来手动触发
$("#myBtn").bind("click",function(){
$("#log-box__data").val("yourtexthere").trigger('change');
});