2017-02-09 82 views
0

我遇到了麻烦触发textarea更改。我遇到的问题是,只有当我手动输入文本区域时(即当文本区域处于焦点中时)才会触发事件。如何在javascript上触发textarea更改?

当textarea变得焦点不清时,我真的会为btnSpeak.click()调用textarea。

$('#chat').bind('input propertychange',function(){ 
    btnSpeak.click(); 
}); 

下面的代码显示了我的聊天应用程序中的文本区域称为$chat中填充数据(串)。

socket.on('new message', function (data) { 
    $chat.append(data); 

}); 

所以整个想法是,在发送邮件时,文本区域会被填充,最后用JavaScript检测textarea的变化和执行btnSpeak.click()。根据注释

+1

'$ chat.append(数据).trigger( “输入”)'? – nnnnnn

+0

这是socket.io吗?你应该提到这一点。 – taco

+0

@nnnnnn发表评论作为回答。 –

回答

0

回答@nnnnnn !: $ chat.append(数据).trigger( “输入”)

0

嗯,我想我有这个SLOUTION ..

$(document).ready(function() { 
    $('textarea').trigger('change'); 
}); 

但这只会在通过jQuery添加更改事件时触发。 如果没有,那么试试下面的代码片段

$('textarea').get(0).change();