2014-01-13 2 views
0

Я использую следующие для кнопки удаления и хотя я получаю сообщение подтверждения, если я нажимаю отменить все еще проходит через это:Возвращение подтверждения до сих пор выполняет

<a onclick="return confirm('are you sure?')" class="btn btn-default btn-sm deleteList" href="#" list_id="1467" title="Delete your list: listName">Delete</a> 

Ничего очевидного?

UPDATE:

Крепится к функции мыши Jquery, поэтому, если отменить останавливает ссылку следующий через, как я могу предотвратить обработчик щелчка от стрельбы?

UPDATE 2

Также пытался при запуске обработчика щелчка, но та же проблема:

$('.deleteList').on('click', function(e) { 
     confirm('are you sure?'); 
     var list_id = $(this).attr("list_id"); 
     $.ajax({ 
      context: this, 
      type: "POST", 
      url: '/ajax/actions/deleteList.php?listId=' + list_id, 
      success: function (data) { 
        var d = $.now(); 
        window.location.href = "/pages/dashboard?listDelete=" + d + "#mylists"; 
      } 
     }); // End .ajax 
     e.preventDefault(); 
    }); 
+2

Если вы нажмете отменить, он не перейдет к '#', который является действием по умолчанию в соответствии с 'href' вашей ссылки. Но если у вас есть другие обработчики кликов, они будут выполнены. – techfoobar

+0

Ах, да, он вызывает функцию JQuery click - как я могу это предотвратить? –

+1

'confirm()' в начале собственно обработчика кликов. – techfoobar

ответ

2

Вот дурак-доказательство ответ:

$('.deleteList').on('click', function(event) { 
    event.preventDefault() 
    event.stopImmediatePropagation(); //de Added by @crush 
    return confirm("are you sure?") 
}) 

Затем удалите onclick="...".

В обновленном вопросе, весь вопрос отличается. В настоящее время проблема заключается в недопустимом использовании confirm() и возможной асинхронной проблеме с $.ajax().

+0

Ссылка соответствующего API: http://api.jquery.com/event.stopImmediatePropagation/ – crush

+0

Thats останавливает работу всего обработчика кликов –

+1

@DarrenSweeney Теперь неясно, каков ваш предполагаемый результат. – crush

Смежные вопросы