1

我想在我的文本字段上有一个计数器,从 140 开始,减去文本区域中的字符数。

这是我的事件监听器:

contentArea.addEventListener('change', function(e) {
    if(e.value.length >= 200) {
        contentArea.value = e.value.substring(0, 200);
    } else {
        countLabel.text = 140 - e.value.length;
    }
});

基本上,如果用户的字符数为 140 或更少,则允许用户提交。我不想在他们达到限制后就阻止它,所以我让他们超过了相当多的数量。但我想用准确的计数来更新这个计数标签。

问题是检查每个更改的计数会自动接受任何自动更正的建议并导致用户体验非常糟糕。

有没有办法解决?

4

1 回答 1

0

听起来像是一种混乱的做事方式,但您可以尝试在 textArea focus() 事件触发时添加一个循环计时器,它会不断检查长度并更新显示。然后在 blur() 事件中删除计时器。

于 2014-03-06T03:09:05.303 回答