Я просматривал новые вещи, добавленные в jQuery 1.7, и я видел, что теперь у них есть jQuery.Callbacks() http://api.jquery.com/jQuery.Callbacks/.
В документации показано, как использовать jQuery.callbacks(), но не применимые примеры того, когда я захочу их использовать.
Кажется, вы можете добавить/удалить обратные вызовы из списка обратных вызовов, и вы можете сделать jQuery.callbacks(). fire (args), но это просто отключает ВСЕ обратные вызовы в этом списке. Возможно, мне что-то не хватает, но это не очень полезно.
В моей голове, когда я впервые увидел эту новую функциональность, я подумал, что вы сможете использовать ее с парами ключ/значение. Тогда это обеспечит простой способ управления функциями обратного вызова в одном месте приложения. Что-то вроде
$.callbacks.add("foo", myFunction);
а затем, например, если бы я хотел вызвать этот обратный вызов в конце моей функции, я мог бы сделать что-то вроде
$.callbacks().fire("foo", args);
Однако не похоже, что вы можете отключить определенные обратные вызовы, вы можете только их отключить с помощью приведенных аргументов или ни одного из них.
Ближайшая вещь, которую я видел, давалась возможность предоставить функции .fire() контекст для установки свойства "this"
.fireWith(context, args)
но это тоже не очень помогает.
-
Я не понимаю документацию?
-
Если это желаемая функциональность, то какие примеры применимы там, где это полезно.