0

さて、私は誰かがリアルタイムで入力ボックスの値を混乱させるためのブックマークレットとして使用できるいくつかのコードを書いています...

var elements = document.getElementsByTagName("input");
for (var ii = 0; ii < elements.length; ii++) {

    elements[ii].addEventListener("keyup", function() {

        var input = elements[ii].value;
        var a = [""];
        var gen;
        for (x in input) {
            a[x] = input[input.length - x - 1];
        };
        for (x in a) {
            var gen = gen + a[x];
        };
        output = gen.replace('undefined', '');
        elements[ii].value = output;
    }, false);
};

このコード(JavaScript:が前にある)は、どの入力ボックスにも影響を与えません。誰もが理由を見ることができますか?

ありがとう!

4

2 に答える 2

1

addEventListenerコード内のthis代わりに 使用します。elements[ii]Cos要素[ii]は、そのコード内では意味がありません。

于 2012-12-15T17:20:31.500 に答える
1

私はあなたのコードにいくつかの修正を加えました。変更されたバージョンは次のとおりです。

var elements = document.getElementsByTagName("input");
for (var ii = 0; ii < elements.length; ii++) {

    elements[ii].addEventListener("keyup", function() {

        var input = this.value;
        var a = [];
        var gen;
        for (var x in input) {
            a[x] = input[input.length - x - 1];
        };
        for (x in a) {
            var gen = gen + a[x];
        };
        output = gen.replace('undefined', '');
        this.value = output;
    }, false);
};

デモを確認してください

于 2012-12-15T17:29:02.080 に答える