0

ボタンの配列がある場合、どのボタンがクリックされたかをどのように確認できますか? 以下の例

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

ユーザーが関数を実行するたびに、新しいボタンが生成されます。最初のボタンはsavebutton[0]2 番目のボタンで、savebutton[1]無限の可能性があります。

後でユーザーがボタンを押したときに、画面にインデックス番号(または「i」)を警告させたい。

これを配列で機能させる方法はありますか?

this : savebutton[i].click(alert(this)) および 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

各要素が ID と識別子を持つ 2 次元配列を使用できます。コードを見ずに、これ以上多くを語ることはできません。

于 2013-10-24T21:49:16.313 に答える
0

ボタンを作成するときに、配列からそのインデックスをボタンの属性として割り当てることができます。ボタンをクリックすると、クリックされたボタンの属性を調べて、配列内のどこに配置されているかを確認できます。

それをしたくない場合は、配列を検索して、現在のボタンが配列内のどこにあるかを見つけることもできます。

于 2013-10-24T22:40:20.827 に答える
0

JQuery は、その方法をより簡単に達成するのに役立つと思います。これをチェックしてください: http://api.jquery.com/index/

お役に立てれば!

于 2013-10-24T21:53:30.037 に答える