0

非常に多くのポップアップで一般的な送信ボタンのクリックがあります。これが私のhtmlとクリックイベントです。

<div class="myContainer ">
        <button onclick="javascript:;" class="shcBtn shcBtnCTA submit">
            <span>Close</span>
        </button>
</div>

$('.myContainer .submit').on('click', function(){
        var socket = new easyXDM.Socket({
            onReady: function(){
            // you need to wait for the onReady callback before using the socket
                socket.postMessage("submitflow");
            }
        });
    });

ある特定のフローでは、送信ボタンに ajax 呼び出しを呼び出させる必要があり、それが成功した場合はソケット呼び出しに進む必要があります。どこでも使用されているため、クリック機能を変更したくありません。他に方法はありますか???

4

2 に答える 2

0

何かが特別な場合は、マークアップでそれを特別にする必要があるため、他のすべてと同じハンドラーを取得することはありません。

<div class="myContainer">
    <!-- normal container -->
</div>

<div class="particularContainer">
    <!-- particularContainer -->
</div>

次に、次のように特定のケースを区別できます。

$('.myContainer .submit').on('click',function(){
    beforeSubmit();
});

$('.particularContainer .submit').on('click',function(){
    $.ajax({/* ... */}).done(function(){
        beforeSubmit();
    });
});
于 2013-07-26T05:07:10.690 に答える
0

ハンドラーをトリガーするクリックイベントを手動でトリガーできます

$('.myContainer .submit').click()

また

$('.myContainer .submit').trigger('click')
于 2013-07-26T04:47:27.450 に答える