素人がプログラミングを勉強していたブログ

プログラミング、セキュリティ、英語、Webなどのブログ since 2008

連絡先: すかいぷ:javascripter_  か javascripter あっと tsukkun.net skypeのほうがいいです

テキストエリアの文字数をカウントするGreasemonkeyスクリプト

// ==UserScript==
// @name           countTextarea
// @namespace      http://d.hatena.ne.jp/javascripter/
// @include        http*
// ==/UserScript==
Array.forEach(document.getElementsByTagName('textarea'),
function(textarea) {
  textarea.addEventListener('focus', onFocus, false);
  textarea.addEventListener('blur', onBlur, false);
  textarea.addEventListener('input', stateChange, false);
  textarea.addEventListener('text', stateChange, false);
  var elem;
  function onFocus() {
    elem = document.body.appendChild(document.createElement('span'));
    stateChange();
    with(elem.style) {
      position = 'fixed';
      bottom = '2%';
      right = '2%';
      fontSize = '10em';
      color = 'gray';
      zIndex = '9999';
    }
  }
  function onBlur() {
    document.body.removeChild(elem);
  }
  function stateChange() {
    elem.textContent = textarea.value.length;
  }
});