Опишу свою проблему: Есть кнопка, при нажатии которой отравляется AJAX запрос. Мне нужно отключить эту кнопку пока идет запрос. Функция .bind() мне поможет это сделать. Все бы ничего, после того как пришел запрос с сервера, нужно убрать запрет на клики. Каким образом?
Вот пример кода
$.ajax({
type:ajaxOpts.type,
url:ajaxOpts.url,
beforeSend:beforeSending,
complete:completeSending,
success : updatePageClass,
data:qs,
dataType : "JSON",
error:function (xhr, ajaxOptions, thrownError, request, error)
{
alert('xrs.status = ' + xhr.status + '\n' +
'thrown error = ' + thrownError + '\n' +
'xhr.statusText = ' + xhr.statusText + '\n' +
'request = ' + request + '\n' +
'error = ' + error);
}
});
function beforeSending()
{
star.unbind('click');
$('.loading').show();
}
function completeSending()
{
//Resotre all events
?????
$('.loading').hide();
}
Дело в том, что ямог бы просто сделать
star.bind('click', function(){ // DO SOME COOL STUFF });
Но это не подойдет, потомучто сценарии этой кнопки подвязаны к плагину.
Ребят, выручайте, уже 2 часа ломаю голову
Спустя 2 часа, 32 минуты, 9 секунд (13.09.2011 - 20:02) forza написал(а):
Сложный вопрос? за спасибо никто не подскажет :Д ?
Спустя 2 часа, 25 минут, 32 секунды (13.09.2011 - 22:28) moskitos80 написал(а):
Ну, если в переменной star содержится ссылка на элемент input - возможен такой вариант:
function beforeSending()
{
star.attr("disabled",true);
$('.loading').show();
}
function completeSending()
{
star.attr("disabled",false);
$('.loading').hide();
}
Спустя 3 минуты, 37 секунд (13.09.2011 - 22:32) Evilsoul написал(а):
moskitos80
имхо, на сколько я знаю то второй параметр attr это значение.
а на разблокировку так
star.attr("disabled",true);
имхо, на сколько я знаю то второй параметр attr это значение.
star.attr("disabled", "disabled");
а на разблокировку так
star.removeAttr("disabled");
Спустя 1 час, 19 минут, 17 секунд (13.09.2011 - 23:51) moskitos80 написал(а):
Цитата (Evilsoul @ 13.09.2011 - 19:32) |
moskitos80star.attr("disabled",true); имхо, на сколько я знаю то второй параметр attr это значение. star.attr("disabled", "disabled"); а на разблокировку так star.removeAttr("disabled"); |
Да правильно. Именно так.
Спустя 9 часов, 13 минут, 22 секунды (14.09.2011 - 09:04) forza написал(а):
Еслиб у меня был инпут, я бы не писал сюда
У меня объект <li>

Спустя 59 минут, 25 секунд (14.09.2011 - 10:04) Michael написал(а):
Не понятно зачем снимать/выставлять обработчик если в нем самом можно флаг установить/проверить разрешенности выполнить действие. Через глобальную переменную или метод data в jquery - более симпотно.
Спустя 4 часа, 25 секунд (14.09.2011 - 14:04) forza написал(а):
Понятно, что то похожее я реализовал.. просто думал что можно это было элегантней реализовать
_____________
Заработок для веб-разработчиков: CodeCanyon
Мое Портфолио