Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 02.07.2012, 18:12
Новичок на форуме
Отправить личное сообщение для begin29 Посмотреть профиль Найти все сообщения от begin29
 
Регистрация: 02.07.2012
Сообщений: 9

Клик по созданому обьекту
Доброго времени суток.
есть следующий код:

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();

    };

здесь я создаю , с помощью библиотеки Raphael прямоугольники при нажатии на картинку "image".
как мне определить, по какому прямоугольнику я делаю клик?

Последний раз редактировалось Octane, 02.07.2012 в 18:14. Причина: http://javascript.ru/formatting
Ответить с цитированием
  #2 (permalink)  
Старый 03.07.2012, 05:06
Новичок на форуме
Отправить личное сообщение для begin29 Посмотреть профиль Найти все сообщения от begin29
 
Регистрация: 02.07.2012
Сообщений: 9

с помощью функции 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 (permalink)  
Старый 05.07.2012, 19:38
Аватар для lord2kim
Профессор
Отправить личное сообщение для lord2kim Посмотреть профиль Найти все сообщения от lord2kim
 
Регистрация: 03.05.2011
Сообщений: 848

Сообщение от begin29 Посмотреть сообщение
с помощью функции 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 });
                    };
                });
            };
           
             };
        };
попробуйте так
var Select = function () {
        for (x in array) {
            joptarray.push(shapes[x]);
            if (shapes[x]) {
                shapes[x].click(function () {
                        alert("shape" + x);
            }
        }
};
Ответить с цитированием
  #4 (permalink)  
Старый 05.07.2012, 23:11
Новичок на форуме
Отправить личное сообщение для begin29 Посмотреть профиль Найти все сообщения от begin29
 
Регистрация: 02.07.2012
Сообщений: 9

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

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"));
         }));
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
сломался клик средней кнопкой Gvozd Сайт Javascript.ru 8 08.06.2012 17:57
Передал аяксом класс в <div>, но как отловить событите клик на этот класс ? saturn Элементы интерфейса 11 31.05.2012 10:30
Как при быстром многократном клике по кнопке обрабатывать только первый клик battrack jQuery 3 22.03.2012 10:47
Отследить клик по тексту n1ko jQuery 6 11.11.2011 10:19
Вместо наведения мыши, нужен клик Jaroslav jQuery 4 24.10.2011 10:50