2

私は次のようなコードのブロックを持っています:

function doSomething() {
    someVar.on("event_name", function() {
        $('#elementId').click(function(e) {
            doSomething();
        });
    });
}

// and on document ready
 $(function () {
    $('#anotherElemId').click(function () {
        doSomething();
    });
});

私が遭遇している問題は、クリック イベント (ドキュメントの準備ができている状態でバインドされている) から呼び出すと、期待どおりに機能するが、クリックから再帰的に呼び出すとdoSomething()機能しないことです。anotherElemIdelementId

何か案は?思考は、私が見逃している些細なことです。

4

1 に答える 1

0

someVar は dom 要素への実際の jQuery 参照ですか? (例: $('#someitem'))

2 番目の問題は、後でインスタンス化する関数内に .click イベントを配置できないことです。#elementId が以前のイベントの後にのみクリック イベントを持つことを許可しようとしている場合は、テスター変数が true かどうかをテストしてみてください。

var activated = false;

$(function () {
    $('#anotherElemId').click(function () {
        activated = true;
    });

    $('#secondElemId').on("event_name", function() {
        if (activated) {
            // code that happens only after #anotherElemId was clicked.
        }

    });
});
于 2012-08-27T00:19:37.783 に答える