Ну, так как я написал, что я думаю, я мог бы также ответить на этот вопрос тоже;)
«общего «способ сделать это заключается в наличии переменной индикатора, в которой выполняется запрос, и обновлять его соответственно до/после того, как все произойдет. Для моего кода в этом вопросе, вы бы изменить его следующим образом:
Вне функции мыши, добавьте это:
var voting = false; // not initially voting
Внутри функции мыши, на самом верху, добавьте это:
if(voting) return false; // if voting, return
voting = true; // if not, set voting to true
Внутри обоих почтовых обратных вызовов, добавьте это:
voting = false; // done voting, set back to false
Если вы хотите сохранить госпитализацию dicator на за вопрос/ответ/пункт основе, вы можете сделать это:
Во-первых, заменить этот код:
var id = $(this).parents('div.answer').attr('id').split('_')[1];
С этим:
var parent = $(this).parents('div.answer'); // get the parent div
if(parent.data('voting')) return false; // if voting, return
parent.data('voting', true); // if not, update the marker
var id = parent.attr('id').split('_')[1]; // get the id
Тогда в обоих почтовых обратных вызовов, добавить следующее:
parent.data('voting', false); // done voting, set back to false
в этом случае мы будем использовать JQuery-х data для хранения голосования s tatus конкретного вопроса/ответа/элемента внутри содержащего DIV и, соответственно, обновляя его каждый раз, когда что-то происходит.
Надеюсь, это поможет.
Я также не хочу, чтобы заблокировать глобально - только для этой кнопки. Мне нужно сохранить хэш? – Timmy
глобальных варсов - не очень хорошо. – redsquare