1

ボタンの場合、これが呼び出す関数と、その呼び出しで使用される値を実行時に設定する必要があります。私はこれを次のように行うことができます:

var myfunction = /* ... */
var myvalue = /* ... */
button.setAttribute ("onclick", myfunction + "('" + myvalue + "')");

代わりに試してみると:

button.setAttribute ("onclick", function () { myfunction(myvalue));

Firebug は私に

「関数ステートメントには名前が必要です」

とはいえ、私の知る限り、ここでは関数式を使用しています。

4

3 に答える 3

4
button.onclick = function() {
    myfunction(myvalue);
}

ただし、適切なイベント登録方法を使用する方が良いでしょう:

button.addEventListener('click', function() {
    myfunction(myvalue);
}, false);
于 2011-12-03T10:41:11.447 に答える
1

右中括弧がありません。

button.setAttribute ("onclick", function () { myfunction(myvalue));

する必要があります

button.setAttribute ("onclick", function () { myfunction(myvalue); });

ただし、ボタンの onclick を設定するために setAttribute を使用したくない場合は、button.onclick = function () { myfunction(myvalue); };代わりに試してください。

于 2011-12-03T10:40:20.640 に答える
0

純粋な JavaScript を検討している場合:

function attachEvent(element, event, handler)
{
    if (element && element.attachEvent) {
        element.attachEvent("on" + event, handler);
    }
    else if (element && element.addEventListener) {
        element.addEventListener(event, handler, false);
    }
}

利用方法:

attachEvent(button, "click", myFunction);

attachEventIE は IE を必要とし、IE ではaddEventListener動作せず、他のブラウザでは動作することに注意してください。したがって、これらの機能の両方を考慮して、クロスブラウザーのサポートにする必要があります。

于 2011-12-03T11:16:14.950 に答える