Сообщение от danik.js
|
Тут используется небольшая хитрость. Функции назначается GUID идентификатор, и прокси-функции тоже. Таким образом устанавливается соответствие между прокси и функцией. А при удалении обработчика проверяется этот GUID.
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script>
var obj = {test: function() { alert('test') }};
var proxy = jQuery.proxy( obj, "test" );
alert([proxy.guid, obj.test.guid]);
</script>
|
То есть, если я правильно понял, то при передаче ф-ции, например, под названием test в ф-цию proxy, этой ф-цие test, jQuery присваивает идентификатор, этому идентификатору поставлена в соответсвие ссылка на ф-цию test. Вызывая же метод on('click', название ф-ции), jQuery проверяет наличие идентификатора у ф-ции и, затем находит ф-цию, поставленную в соответствие этому идентификатору и затем удаляет эту ф-цию из обработки события. Верно?