1

wireEventsJavaScriptをフォームイベントにバインドする関数があります。例えば、

$(document).on('click', '#cancelEdit', cancelEdit);

#cancelEditボタンはjsRenderテンプレートから後で追加するため、このようにします。それは正常に動作します。ボタンがクリックされると、cancelEdit関数が呼び出されます。

var cancelEdit = function (event) {
        event.preventDefault();
        ...
    };

しかし今、このようにコールバック関数を追加したいと思いますcancelEdit

var cancelEdit = function (event, callback) {
        event.preventDefault();
        ...
    };

イベント ワイヤリング ステートメントはどのように更新すればよいですか? このような?

$(document).on('click', '#cancelEdit', cancelEdit('click', cancelEditCallBack));

私はそれを機能させることはできません。助けてください。

ありがとうございました。

4

3 に答える 3

2

関数参照を関数呼び出しと交換しました。コールバックを 2 番目の定義でラップする必要があります。

$(document).on('click', '#cancelEdit', function() {cancelEdit('click', cancelEditCallBack) });
于 2012-09-07T21:31:40.607 に答える
2

data パラメータを使用して、追加の引数をコールバックに渡すことができます。

$(document).on('click', '#cancelEdit', {cancelEditCallBack: cancelEditCallBack}, cancelEdit);

var cancelEdit = function (event) {
    event.preventDefault();
    event.data.cancelEditCallBack();
    ...
};
于 2012-09-07T21:33:28.630 に答える
1

イベントリスナーを追加できる独自のカスタムイベントをトリガーしないのはなぜですか?

var cancelEdit = function (event) {
    event.preventDefault();
    $(event.currentTarget).trigger("mycustomevent")
};

$(document).on("mycustomevent", "#cancelEdit", function (e) {
    // this is your callback
})
于 2012-09-07T21:33:38.613 に答える