2010-08-13 2 views

Répondre

1

Je l'ai utilisé cet extrait, ce qui est assez laid, mais fonctionne.

function getElementsByClassName(classname, node) { 
    if (!node) { 
     node = document.getElementsByTagName('body')[0]; 
    } 
    var a = [], re = new RegExp('\\b' + classname + '\\b'); 
    els = node.getElementsByTagName('*'); 
    for (var i = 0, j = els.length; i < j; i++) { 
     if (re.test(els[i].className)) { 
      a.push(els[i]); 
     } 
    } 
    return a; 
} 

HTMLElement.prototype.click = function() { 
    var evt = this.ownerDocument.createEvent('MouseEvents'); 
    evt.initMouseEvent('click', true, true, this.ownerDocument.defaultView, 1, 
      0, 0, 0, 0, false, false, false, false, 0, null); 
    this.dispatchEvent(evt); 
} 

var elts = getElementsByClassName("x-grid3-col-value", window.innerHTML); 
var i = 0; 

while (i < elts.length) { 
    var elt = elts[i]; 
    elt.click(); 
    i++; 
} 
2

Vous obtiendrez tous les articles avec cette classe ainsi:

var items = Ext.query('.x-grid3-col-value'); 

Il vous donnera un tableau de tous les éléments. Ensuite, vous pouvez aller par chaque élément et placez un gestionnaire sur chaque élément:

Ext.each(items, function (item) { 
     item = Ext.get(item); 

     item.on('click', function() { 
      //'click' or 'dblclick' or 'mouseover' 
      //console.log(item); 
      //Do whatever you want 
     }, this); 
    }, this); 
+0

Pour éviter d'avoir à utiliser chaque vous pouvez simplement utiliser: –

+1

'Ext.select chaque (function (item) {...});' ((x-Grille3-col-valeur. »). Eh bien, il utilise encore 'chaque' mais il l'enchaîne au moins) –