Как узнать у какого объекта вызван метод.
Допустим, есть некий класс A с методом B
A.prototype= { B:function() { link2object=this; } } Логически веб-приложении организовано так - метод B вызывается у объекта при нажатии на ссылку. К ссылке динамически привязывается обработчик: /*JQuery code*/ $("#link").click(someobject.B); Проблема, что когда метод назначен обработчиком события нажатия на ссылку - внутри него this-это указатель на DOM-элемент (ссылку), а не на экземпляр класса A. Как в таком случае узнать к какому экземпляру привязан метод B, т.е. получить ссылку на объект someobject ? |
|
Не очень понятно при чем тут apply/call. В комментариях к статье, есть похожий вопрос, но решения там нет.
Впрочем меня самого только что осенило - ссылку на объект можно сохранять в свойстве объекта-DOM-элемента-ссылки. |
Цитата:
|
http://api.jquery.com/jQuery.proxy/
Вот вроде то что вам нужно и на jQuery. В вашем случае: $("#link").click( jQuery.proxy( someobject, "B" ) ); // this == someobject |
Часовой пояс GMT +3, время: 13:29. |