0

GoogleFastButtonスクリプトをWebページに実装しました。続く:

Googleの高速ボタンを実装しようとしています

コードはうまく機能します。私の質問は、これを複数のボタンにどのように実装するかです。動的に作成されるボタンがいくつかあります。各ボタンを独自の機能で定義したくありません。このスクリプトを、いくつかの変数を渡す別の関数で使用できますか?

例えば、<button id="quick" onclick="someFunction(24);">button</button>

現在の実装

new FastButton(document.getElementById('quick'), function() {
       alert("hello");
    });
<button onclick="onLayerClick(8)">8</button>
4

1 に答える 1

1

これを行う1つの方法は次のとおりです。貼り付けたリンクに従って、FastButtonプロトタイプは2番目の引数(this.FastButton = function(element, handler))として関数を受け入れ、クリックイベントをその関数に渡します。したがって、次のようなことを行う場合:

HTML:

<button id="quick">24</button>

JS:

var myHandler = function(event) {
    var el = event.target;
    console.log(el.innerHTML);
}

new FastButton(document.getElementById('quick'), myHandler);

次に、myHandler()関数は、クリックイベントが発生したDOM要素()にアクセスできevent.targetます。これは、クリックされたボタンに関係ありません。したがって、そのボタンのinnerHTMLにアクセスできるかdata-mynumber="24"、ボタンに属性を設定してel.getAttribute("data-mynumber")代わりに使用することができel.innerHTMLます...ただし、ボタンを識別したいのはあなた次第です。

于 2013-02-07T05:19:10.063 に答える