在一系列按钮中,如何判断单击了哪个按钮?

时间:2013-10-24 21:47:32

标签: javascript raphael

如果我有一系列按钮,我怎么知道哪个按钮被点击了? 以下示例

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

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

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

有没有办法让这个工作在数组中?

this: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++

        }

3 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

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

希望这有帮助!

答案 2 :(得分:0)

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

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