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,出现运行时错误 Object doesn't support property or method '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

最后它像这样工作

  var length = Object.keys(buttonId).length;
                for (var index = 0; index < length; index++) {
                    var key = buttonId['[' + index + '].Key'];
                    if (key == id) {
                        delete buttonId['[' + index + '].Key'];
                        delete buttonId['[' + index + '].Value'];
                    }
                }
于 2013-07-22T14:57:49.740 回答
0

您似乎没有按照预期的方式使用 Javascript 地图。正确的模式是:

buttonId[key] = value;

如果您需要将复杂数据存储为值,请执行以下操作:

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