1. Набираем команду codeby webinar. Набираем команду для организации и проведения вебинаров. Подробнее ...

    Скрыть объявление
  2. Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

    Скрыть объявление
  3. Получи 30.000 рублей. Для получения денег необходимо принять участие в конкурсе авторов codeby. С условиями и призами можно ознакомиться на этой странице ...

    Внимание! Регистрация авторов на конкурс закрыта.

    Скрыть объявление

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

Тема в разделе "Web - программирование", создана пользователем begin29, 2 июл 2012.

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

    begin29 Гость

    Репутация:
    0
    Доброго времени суток, есть следующий код:

    Код:
    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 Гость

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

    Код:
    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 Гость

    Репутация:
    0
    Спасибо всем!!! Решыл: :blink:


    Код:
    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"));
    }));
     
Загрузка...
Статус темы:
Закрыта.

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