var allRows = this.getTbodyEl().rows;
for (var i = allRows.length - 1; i >= 0; i--){
var thisRowID = allRows[i].id;
// Clean up any existing Drag instances
if (myDTDrags[thisRowID]) {
myDTDrags[thisRowID].unreg();
delete myDTDrags[thisRowID];
}
// Create a Drag instance for each row
myDTDrags[thisRowID] = new YAHOO.util.DDProxy(thisRowID);
};
我无法弄清楚原因,但上面的代码并没有为我表中的每一行产生一个DDProxy对象。我已经通过将字符串引用传递给DOM元素来验证DDProxy代码已全部加载并正常运行:
myDTDrags[thisRowID] = new YAHOO.util.DDProxy('yui-rec30');
这使相应的行可以按预期拖动!我还使用typeof验证了thisRowID的值确实是'string'类型,并且该字符串包含适当行元素的id。
我错过了什么?
答案 0 :(得分:1)
更新:我上面发布的代码是正确的。我错了,因为我的thisRowID变量的内容没有包含对相应行元素的引用!