0

たとえば、クリックイベントの一部として割り当てられる変数を介して関数を渡そうとしています:

function bindClick(func) {
    $('#button').click(function() {
        func();
        return false;
    });
}

function configureClick() {
    bindClick(function () { executeClick(message); });
}

function executeClick(message) {
    alert(message);
}

そのconfigureClick()ため、ある時点で実行され#button.click()、 の内容を呼び出す必要がありfuncます。

何が起こっても、エラーも望ましい動作もありません。

更新:私はばかです!上記のコードは機能しています。間違っexecuteClickたキーを渡していたため、無視されていた switch-case ブロックがありました。ご迷惑をおかけしました D:

4

1 に答える 1

1

コールバック関数の受け渡しが多すぎます。それは多くのクロージャを作成しますが、これはこのような単純なケースでは必要ありません。

function bindClick(func) {
    $('#button').click(function() {
        func();
        return false;
    });
}


function executeClick(message) {
    alert(message);
}

function configureClick(message){
    bindClick(function(){ executeClick(message) });
}

configureClick('Hello');
于 2013-01-03T11:05:12.517 に答える