Ejemplo selectores y find

Mediante el método find es posible aplicar una método a todo un grupo de objetos. A continuación vemos como diferenciar dos grupos de rectángulos por su id, aplicando diferentes eventos a cada uno de ellos.

Nota: a la hora de aplicar eventos a un grupo de objetos es mejor usar eventos live

function randomId() {
    return Math.random() > .5 ? "good" : "bad";
}

for (var i = 0; i < 4; i++) {
    for (var j = 0; j < 4; j++) {
        // Aplicar id aleatorio
        ce.rect(i*20+100, j*20+40, 20).addId(randomId());
    }
}

// rectángulos tanto #good como #bad
ce.find("rect").attr({
    fill: "green",
    stroke: "#000"
});

// rectángulos #bad
ce.find("#bad").click(function(c, e) {
    if (this.fill != "red") {
        puntos -= 1;
        this.fill = "red";
    }
    score_view.setText(puntos + " puntos");
});

// rectángulos #good
ce.find("#good").click(function(c, e) {
    if (this.fill != "gray") {
        puntos += 1;
        this.fill = "grey";
    }
    score_view.setText(puntos + " puntos");
});

Related Topics

This Page

Fork me on GitHub