需求:只要内容不为空就把按钮高亮
image.png
实现需求的原理:需要动态监听textarea内容变化
解决方案:
1、 vue上 直接通过v-model 实现
2、jQuery写法(原理:监听input事件和change事件)
$('.answer_list .suggest textarea').bind('input propertychange', function () {
var length = $(this).val().length;
handelBtnClassName();
});
3、原生js(原理:监听input事件和change事件)
<div class="customer-message">
<label for="customerMessage">留言</label>
<textarea id="customerMessage" maxlength="500o"></textarea>
<p class="text-count"><span id="textCount">0</span>/500(留言多余10个字)</p>
</div>
window.onload = function () {
//获取文本内容和长度函数
function txtCount(el) {
var val = el.value;
var eLen = val.length;
return eLen;
}
var el = document.getElementById('customerMessage');
el.addEventListener('input',function () {
var len = txtCount(this); // 调用函数
document.getElementById('textCount').innerHTML = len;
});
el.addEventListener('propertychange',function () {//兼容IE
var len = txtCount(this); // 调用函数
document.getElementById('textCount').innerHTML = len;
});
原文:https://blog.csdn.net/qq_26212731/article/details/78523624