0

ドラッグイベントにキーとテキストを追加して、Javaスクリプトに辞書があります。

ユーザーがこれをクリックすると、キーを削除する必要がありますが、辞書から削除されていません

 var buttonId = {};

 function drag(ev) {

                //buttonId.push(ev.target.id,ev.target.innerText);
                var index = Object.keys(buttonId).length;
                buttonId['[' + index + '].Key'] = ev.target.id;
                buttonId['[' + index + '].Value'] = ev.target.innerText;
            }

削除機能

function Delete(key){
    delete buttonId[key];
    }

spliceMethodも動作しません。私は Jquery 2.0 を使用しています。実行時エラー オブジェクトはプロパティまたはメソッド 'splice' をサポートしていません

        var length = Object.keys(buttonId).length;
        for (var index = 0; index < length; index++) {
            var key = buttonId['[' + index + '].Key'];
            if (key == id) {
                buttonId.splice(index, 1);
            }
        }
4

2 に答える 2

0

Javascript マップを意図したとおりに使用していないようです。適切なパターンは次のとおりです。

buttonId[key] = value;

複雑なデータを値として保存する必要がある場合は、次のようにします。

buttonId[key] = {id:ev.target.id, text:ev.target.innerText};
于 2013-07-22T13:24:22.660 に答える