2013-04-23 5 views
5

Если я прилагаю обработчик событий с помощью .ajaxStop так:Удалить обработчик события, используемый .ajaxStop

$(document).ajaxStop(function() { 
    //Some code 
}); 

Как удалить обработчик события?

+0

может быть '.off()' или '.unbind()' поможет –

+0

и каков будет точный код для использования в этом случае ?? –

+0

У вас есть ответ на этот вопрос –

ответ

3

использование .off()

Удалить обработчик события.

$("#elementID").off() 

это снимает все обработчик события из выбранного элемента

+0

Но какой именно код в этом случае? –

+0

для этого вам нужно предоставить нам коды и рассказать нам, что вам нужно. .. какое событие вы говорите? и так далее – bipen

+0

Я хочу, чтобы обработчик .ajaxStop прекратил выполнение кода, который я ему дал –

12

Try развязывание это, например, так:

$(document).ajaxStop(function() { 
    $(this).unbind("ajaxStop"); 
    //Some code 
}); 

Это, как я делал это.

+0

Это работает для меня :) Спасибо. – Qerjiuthn

+0

Мне нужно было использовать '$ (document) .unbind ('ajaxStop');' а не '$ (this)'. – Tim

+0

«unbind» jQuery устарел с версии 3.0, вместо этого используйте 'off'. – Tim

0

Если вам необходимо убедиться, что код обработчика внутри ajaxStop() метод выполняется перед тем он удаляется, я предлагаю следующее:

$(document).ajaxStop(function(){  
    // Functions there 

    $(this).unbind("ajaxStop"); 
}); 

Particulary полезно, если у вас есть различные возможные $ .ajax в на той же странице, и вы хотите контролировать, где выполнить код ajaxStop(). Тогда вам просто нужно использовать этот код внутри необходимой функции jQuery.

+0

jQuery 'unbind' устарел с версии 3.0, вместо этого используйте' off'. – Tim

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