Javascript 在一组按钮中,您如何判断单击了哪个按钮?

Javascript 在一组按钮中,您如何判断单击了哪个按钮?,javascript,raphael,Javascript,Raphael,如果我有一个按钮数组,我如何知道单击了哪个按钮? 下面的例子 var i=0 CreateButton = new function () { savebutton[i]=NewButton() i++ } 每次用户运行该功能时,都会生成一个新按钮。 第一个按钮是savebutton[0]第二个按钮是savebutton[1],依此类推,可能无限次 稍后用户按下按钮时,我希望屏幕提示其索引号(或“I”) 有没有办法让它在阵列中工作 此:保存按钮[i]。单击(警报(此)) 还

如果我有一个按钮数组,我如何知道单击了哪个按钮? 下面的例子

 var i=0
 CreateButton = new function () {
    savebutton[i]=NewButton()
  i++
  }
每次用户运行该功能时,都会生成一个新按钮。 第一个按钮是
savebutton[0]
第二个按钮是
savebutton[1]
,依此类推,可能无限次

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

有没有办法让它在阵列中工作

此:保存按钮[i]。单击(警报(此)) 还有这个: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++

        }

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

我认为JQuery可能会帮助您更轻松地实现这一点。看看这个:


希望这有帮助

创建按钮时,可以从数组中将其索引指定为按钮的属性,然后单击按钮时,可以检查单击按钮的属性,以查看其在数组中的位置


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

欢迎使用堆栈溢出。如果没有更多的背景,我们不可能帮助您。你能在这里发布你真实的完整代码吗?我添加了相关的函数。代码是500行,与此特定函数无关。如果我原来的“最小化”功能可以工作,我可以很容易地将其合并到整个文档中。如果你仍然觉得整个文档是绝对重要的,我会把它放到jsfiddle上。如果我能发出警报,给出任何按下的按钮的索引号,我可以很容易地让它做任何我想做的事情。我将在编辑中添加整个函数,但是,它充满了信息,我认为最终会让事情变得更糟。这确实让我兴奋了片刻,但遗憾的是,我不认为这适用于无限按钮,因为每个按钮的代码中都必须有一个DOM元素(如果我错了,请纠正我),真的很酷!!谢谢