2012-12-31 5 views
7

Мне нужно вызвать функцию после удаления DIV со страницы.Обратный вызов jQuery в функции remove()

Я попытался добавить обратный вызов так, но не повезло. Какие-либо предложения?

$(foo).remove(function() { 
    stepb(); 
}); 
+0

Возможно, 'remove(). Done (function() {stepb()});' – mplungjan

+0

проверить это http://stackoverflow.com/questions/7594817/jquery-remove-callback –

+2

Обязательно спросите. Почему не просто '$ (foo) .remove(); stepb(); '? Это проблема с контекстом 'stepb()'? –

ответ

15

Попробуйте это

$ .when (. $ ('# Foo') удалить()), а затем (stepb()) ; [ Пример 1] [1] и [ Example2] [2].

$('#foo').remove(); 
stepb(); 

Поскольку метод remove в jQuery является синхронным, stepb() будет вызван после того, как remove() закончил. Поэтому нет необходимости использовать $.when().then().

+2

Примечание для будущих читателей перед тем, как вы скопируете эту вставку: метод 'remove' в jQuery является синхронным, что означает, что любой следующий код будет гарантированно запускаться после завершения операции' remove'. Поэтому использование '$ .when' является избыточным, do' $ ('# foo'). Remove(); stepb(); 'вместо того же самого результата. – Mahn

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