-1

テキスト ボックスから取得した配列にデータを格納するのを手伝ってくれる人はいますか。スペースが押されたときにスペース文字の前に別のフォントの色が表示されるように、フォーマットを設計する必要があります。また、スペースの後の要素は通常どおりにする必要があります。

編集:

<html>
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script>
  var x = 0

  function abc() {
      var a = new Array("a", "b", "c", "d", "e", "f", "g", ..... "h", "x", "y", "z")
      document.getElementById("type").value = a[x]

      var i = document.getElementById("type").value
      var n = i.charAt(i.length - 1)
      alert(n)
      var n = i.substring(0, i.length - 1)
      document.getElementById("type").value = n.concat(a[x]);
      if (x >= 0) x++
      if (x >= 26) x = 0

  }
</script>

</head>
<body>
<!--<input type="text" name="type" id="type" size="100" onkeyup="abc()">-->

<input type="text" name="type" id="type" size="100" onkeypress="abc()">
<div id="log"></div>

別の試み:

<script>
  e = jQuery.Event("keypress", {
      keyCode: 32
  });
  jQuery('#type').bind('keydown', function (e) {
      var s = e.which;
      jQuery('#log').html(e.which);

      if (s == 8) { //backspace
          alert('back space');
      }
      if (s == 32) { //space bar
          alert('space');
          var z = document.getElementById("type").value
          jQuery('#type').css({
              'color': 'blue'
          });
      }
  });
</script>
</body>
</html>
4

1 に答える 1

2

入力に複数の色を含めることはできないため、入力はなく、ラベルだけを使用する必要があります。ユーザーが入力している間、イベントをキャプチャしてそのラベルに追加します。

$("body").keypress(function (e) {
    var s = e.which;
    var c = String.fromCharCode(e.which);

    $("#log").children(":last").append(document.createTextNode(c));

    if (s == 32)  { // Space
        $("#log").children(":last").css({ 'color': 'blue' });
        $("#log").append($("<span/>"));
    }
});

例を次に示します: http://jsfiddle.net/B5wwP/

結果領域をクリックして入力を開始するだけです。スペース機能のみを実行しました。バックスペースなどの他の機能を追加する必要があります...

于 2013-01-26T21:20:10.127 に答える