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);
};
Je n'arrive pas à comprendre pourquoi, mais le code ci-dessus ne donne pas un objet DDProxy pour chaque ligne de ma table. J'ai vérifié que le code DDProxy est tout chargé et fonctionne correctement en passant une référence de chaîne à un élément DOM:YUI: String fonctionne, mais une var contenant une chaîne ne fonctionne pas?
myDTDrags[thisRowID] = new YAHOO.util.DDProxy('yui-rec30');
Cela rend la ligne correspondante draggable comme prévu! J'ai également vérifié, en utilisant typeof, que la valeur de thisRowID est bien du type 'chaîne' ET que la chaîne contient l'id des éléments de ligne appropriés.
Qu'est-ce que j'ai manqué?
Fascinant. Si c'était moi, je verrais ce qui se passerait si je mettais "thisRowID" à 'new String (allRows [i] .id)' mais je suis bizarre. – Pointy