0

ユーザーが Twitter ブートストラップ モーダル ウィンドウ ボタンの確認ボタンをクリックすると、ページで削除アクションを実行しています。

2 つのボタンがあります。1 つはユーザーがアクションをキャンセルできるようにするもので、もう 1 つは確認するためのものです。

ユーザーが削除の確認ボタンをクリックすると、モーダルが非表示になっているときにアクションを実行します。たとえば、アニメーションを表示して実際にアイテムを削除できます。

ユーザーがいくつかの項目をクリックし、選択がキャンセル ボタンである場合、削除したい項目をクリックすると、選択がキャンセルされた要素に対しても削除が実行されます。

「非表示」イベントは、実行後に要素から切り離すべきではありませんか?

$('#confirmDeleteModal').on('hidden', function() {イベントチェーンの変更を切り離すことができることは知っていますが、なぜこれが起こるのか$('#confirmDeleteModal').off('hidden').on('hidden', function() {本当に理解できます。何か不足していますか?

コードは次のとおりです。

$(document).ready(function(){
    $('.delete').on('click', function() {
        var itemID = $(this).data('product-id')

        $('#confirmDeleteModal').modal('show');

        $('#confirmDelete').on('click', function() {

            $('#confirmDeleteModal').on('hidden', function() {
                // Here I do my stuff to perform deletion
                $('#result').append('This method has been called for ' + itemID + ' <br />' )
            });
        });
    });
});

私の質問を明確に明らかにしたことを願っています。JS Bin も用意しました: http://jsbin.com/inulaw/5/edit

4

1 に答える 1