我是HTML的初学者,在学习HTML5的同时,我发现了一个很酷的工具<meter>。但是,它不会更新;它是一个静态值!

我的问题很简单:如何使用<textarea>的长度来更改<meter>的颜色,以便用户在达到160个字符(最大值)时会看到红色?换句话说,计算<textarea>字符,并将其发送到meter标记的值。

最佳答案

请注意,并非所有浏览器都支持此标记。例如。在IE10之前,IE均不支持。 http://caniuse.com/#search=meter

这样的事情应该起作用:

的HTML

<textarea id="sometext"></textarea>
<meter value="10" min="0" max="160" id="somemeter">2 out of 160</meter>​

JS
(function() {
    var textarea = document.getElementById('sometext');
    var meter = document.getElementById('somemeter');

    var theLength = 0;

    textarea.addEventListener('keypress', function() {
        theLength = textarea.value.length;

        if (theLength > 160) {
            theLength = 160;
        }

        meter.value = theLength;
    });
})();​

演示:http://jsfiddle.net/RBUmQ/1/

10-08 06:20