вопрос по jQuery callback

PooH

вылезла неприятная фича jQuery
вот пример:

<div>
</div>
<div>
</div>

<script>
$("div").animate({
width:100
},100, function{
call_me_once;
});

function call_me_once
{
alert("ONCE!");
}
</script>

ну так вот callback в данном случае вызывается дважды, что существенно мешает правильной работе (78 раз вызывать callback - это противоестественно)
как обойти?

PooH

гугление дало только кривой костыль с подсчетом кол-ва вызовов - это отвратительно!

Dasar

все правильно работает.
div-а два, поэтому animate отрабатывает два раза и два раза вызывает callback

Bibi

хороший одноразовый коллбэк делается так:
(блия, смотрите и читайте же уже Крокфорда, наконец! он обо всем рассказывает)

function once(func) {
return function {
var f = func;
func = null;
return f.apply(this, arguments);
};
}

Bibi

минус поставил за слово jquery, конечно
Оставить комментарий
Имя или ник:
Комментарий: