Hacer un objeto clicable con Raphael JS

He creado un círculo de aspecto 3D y quiero que se pueda hacer clic y mostrar sus datos. Sin embargo, parece que no puedo hacer que funcione. Alguien por favor me puede ayudar a resolver esto??? El código donde trato de hacer esto está cerca de la parte inferior....

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="en">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>Raphaël · Ball</title>
    <link rel="stylesheet" href="demo.css" type="text/css" media="screen">
    <link rel="stylesheet" href="demo-print.css" type="text/css" media="print">
    <script src="raphael.js" type="text/javascript" charset="utf-8"></script>
    <script type="text/javascript" charset="utf-8">
        Raphael.fn.ball = function (x, y, r, hue) {
            hue = hue || 0;
            return this.set(
                //this part is the drop shadow
                this.ellipse(x, y + r - r / 5, r, r / 2).attr({fill: "rhsb(" + hue + ", 1, .25)-hsb(" + hue + ", 1, .25)", stroke: "none", opacity: 0}),
                //this part is the top part of the circle
                this.ellipse(x, y, r, r).attr({fill: "r(.5,.9)hsb(" + hue + ", 1, .75)-hsb(" + hue + ", .5, .25)", stroke: "none"}),
                //this is the inner glow part from the top
                this.ellipse(x, y, r - r / 5, r - r / 20).attr({stroke: "none", fill: "r(.5,.1)#ccc-#ccc", opacity: 0})
            );
        };
        window.onload = function () {
            var R = Raphael("holder"), x = 300, y = 100, r = 100;
            //I cant tell what numbers are passed into here?????
            R.ball(x, y, r, Math.random()).data("i", i).click(function () {
            alert(this.data("i"));
         });
        };
    </script>
    </head>
    <body>
        <div id="holder"></div>
    </body>
</html>

preguntado el 27 de julio de 12 a las 20:07

1 Respuestas

Pido disculpas si me equivoco aquí... pero una muestra de este código funciona bien para mí... lamentablemente parece que no puedo encontrar el var i en su código que está pasando a data('i',i) .... declarar var i = something; o prueba estos datos ('i', 'Hola') para hacerte saber que funciona... espero que ayude.

jsviolín

Respondido 29 Jul 12, 18:07

deberías probar lo que sugerí... solo tienes que declarar una var i en tu código... eso es todo... - Aukhan

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.