0

如果我有一组按钮,我怎么知道点击了哪个按钮?下面的例子

 var i=0
 CreateButton = new function () {
    savebutton[i]=NewButton()
  i++
  }

每次用户运行该功能时,都会生成一个新按钮。第一个按钮是savebutton[0]第二个按钮savebutton[1],依此类推可能无限次。

当稍后用户按下按钮时,我希望屏幕提醒它的索引号(或“ i”)。

有什么办法可以让这个在数组中工作吗?

这个:savebutton[i].click(alert(this)) 和这个:savebutton[i].onClick(alert(this)) 不起作用

代码完全用 RephaelJs 编写,绝对不包含 DOM 元素。

我使用 RaphaelJS,我的 HTML 文档不包含 DOM 元素。一切都是脚本。

生成按钮的整个函数:

var insertframe = function () {
            ww = WindowWidth
            mw = mywindoww
            zx = zone.getBBox().x
            zy = zone.getBBox().y
            zw = zone.getBBox().width
            zh = zone.getBBox().height
            sh = screen.getBBox().height
            sw = screen.getBBox().width
            py = picy
            px = picx
            srw = screenratiow
            srh = screenratioh


            savebutton[i] = paper.image(imageurl)


            savebutton[i].attr(
                             {
                                 'width': px * (framewidth * miniframesize) / zw,
                                 'height': py * (frameheight * miniframesize) / zh,
                                 'x': ((srw*520) + (i * 120) * srw) - zx * (frameheight * miniframesize) / zh,
                                'y': srh*600 - zy * (framewidth * miniframesize) / zw,
                                'clip-rect': (srw*520) + (i * 120) * srw + "," + srh * 600 + "," + framewidth * miniframesize + ',' + frameheight * miniframesize

                             })
            savebutton[i].click(alert(this))
            i++

        }
4

3 回答 3

0

我认为 JQuery 可能会帮助您更轻松地实现这一目标。看看这个: http ://api.jquery.com/index/

希望这可以帮助!

于 2013-10-24T21:53:30.037 回答
0

您可以使用二维数组,每个元素都有一个 ID 和一个标识符。没有看到你的代码就不能说太多了。

于 2013-10-24T21:49:16.313 回答
0

创建按钮时,可以将数组中的索引分配为按钮的属性,然后在单击按钮时,可以检查单击按钮的属性以查看它在数组中的位置。

如果您不想这样做,您还可以搜索数组并找到当前按钮在数组中的位置。

于 2013-10-24T22:40:20.827 回答