div contenteditable 限制输入字数_3/90天训练:输入字数超限问题
时间: 2024-02-24 20:53:03 浏览: 134
你可以通过 JavaScript 监听输入框的输入事件,然后获取输入框中的文本内容,再通过字符串的 `length` 属性获取当前输入的字符数,以此判断是否超出限制。如果超出限制,可以通过 `substring()` 方法截取字符串并更新输入框的内容,或者给出提示信息。以下是一个简单的示例代码:
```html
<div contenteditable="true" id="input-box"></div>
<div id="counter"></div>
<script>
const maxLength = 10; // 最大字符数
const inputBox = document.getElementById('input-box');
const counter = document.getElementById('counter');
inputBox.addEventListener('input', function() {
const text = inputBox.innerText;
const length = text.length;
if (length > maxLength) {
inputBox.innerText = text.substring(0, maxLength);
counter.innerText = `已输入 ${maxLength} / ${maxLength} 个字符`;
} else {
counter.innerText = `已输入 ${length} / ${maxLength} 个字符`;
}
});
</script>
```
在上面的示例中,我们首先定义了一个 `maxLength` 变量表示最大字符数,然后通过 `document.getElementById()` 方法获取输入框和计数器的元素对象。接着,我们给输入框添加了一个 `input` 事件监听器,每次输入框的内容发生变化时,就会触发该事件。在事件处理函数中,我们首先获取输入框中的文本内容,然后计算字符数并进行判断。如果超出了最大字符数,就使用 `substring()` 方法截取字符串并更新输入框的内容,同时显示计数器的文本为已输入的字符数与最大字符数。否则,就只显示已输入的字符数与最大字符数。
这只是一个简单的实现方式,你可以根据实际需求进行修改和优化。
阅读全文