Клик По Созданому Елементу

Тема в разделе "HTML, CSS, XML, JavaScript", создана пользователем begin29, 2 июл 2012.

Статус темы:
Закрыта.
  1. begin29

    begin29 Гость

    Доброго времени суток, есть следующий код:

    Код (Text):
    shapes = [];

    createRect = function (x, y) {
    shape = r.rect(x, y, 95, 25, 20);
    shapes.push(shape);
    text = r.text(x + 40, y + 10, "New node");
    texts.push(text);
    for (i = 1; i < shapes.length; i++) {
    //color = Raphael.getColor();//рандомний колір
    tcolor = "#4C5053";
    scolor = "#BDBFC1";
    fcolor = "#FCFEFF";
    shapes[i].attr({ fill: fcolor, stroke: scolor, "stroke-width": 2, cursor: "move" });
    texts[i].attr({ fill: tcolor, stroke: "none", "font-size": 15, cursor: "move" });
    array = new Object();
    array[i] = ("shapes" + i);
    shapes[i].pair = texts[i];
    texts[i].pair = shapes[i];
    shapeLength = shapes.length;

    //alert(shapeLength);
    shapes[i].drag(move, dragger, up);
    texts[i].drag(move, dragger, up);
    };

    }; //endcreaterect

    document.getElementById("image").onclick = function () {
    createRect(CRX, CRY);
    Select();
    changeC();

    };
    При клике на картинку "image" создаются, с помощью библиотеки Raphael прямоугольники. Как мне можно обращатся к каждому прямоугольнику? Тоесть как при клике на один из прямоугольников делать с ним что-то?
     
  2. begin29

    begin29 Гость

    с помощью функции Select(), я вызываю alert на клик по элементу, но вызывается только последний alert. Что тогда мне делать?

    Код (Text):
    var Select = function () {

    for (x in array) {
    joptarray.push(shapes[x]);
    //if (shapeLength == i) {
    if (shapes[x]) {
    shapes[x].click(function () {
    selected = shapes[x];
    if (selected == shapes[x]) {
    alert("shape" + x);
    //shapes[1].attr({ stroke: "#2C81C2", "stroke-width": 2 });
    };
    });
    };

    };
    };
     
  3. begin29

    begin29 Гость

    Спасибо всем!!! Решыл: :blink:


    Код (Text):
    z++;

    shapes.push(r.rect(x, y, 95, 25, 20).attr({ fill: fcolor, stroke: scolor, "stroke-width": 2, cursor: "move" }).data("shape", z)
    .click(function () {
    alert(this.data("shape"));
    }));
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей