| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > JavaScript: Общие вопросы > XmlHttp - передача функции как обработчика событий |
| Автор: anian 2.8.2006, 07:12 | ||||
Дано:
Сделал я свой "как-бы класс" - обертку для XmlHttpRequest:
Вопрос: как сделать передачу обработчика просто присвоением? |
| Автор: Sardar 2.8.2006, 11:41 | ||
| anian, в оригинальном JS были геттеры/сеттеры, но их порезал MS, а следовательно и ECMA (стандарты которой иногда отличаються своей бесполезностью или ограниченностью). В мозилле get/set есть, также есть __defineGetter__, __defineSetter__ магия. В гугле примеры.
|
| Автор: anian 2.8.2006, 11:49 | ||
| Смотрим код AJAX-интерфейса Яндекс-Почты: core.js:
Присваивают же как-то? Есть код...выложить? |
| Автор: Sardar 2.8.2006, 12:35 |
Как ваирант при вызове open регистрируют onreadystatechange. На встречу, а зачем эта обёртка нужна вообще, если API идеентичен оригинальному компоненту? |
| Автор: anian 3.8.2006, 07:37 | ||
Каждое слово понимаю, смысла не понимаю API идентичен, пожалуй, только присвоением обработчика...объект создается в зависимости от браузера, open в зависимости от метода какие надо заголовки выставляет, send опять же относительно браузера ставит null, данный или ничего не ставит...ну и опять же, привычка у меня классы делать |
| Автор: Sardar 3.8.2006, 13:20 |
| Нда... это говорит только в пользу хорошего дизайна XMLHttpRequest, всё что нужно есть в компоненте сразу без обёрток Возможно функция опен, перед тем как передать вызов request'у ставит onreadystatechange из ранее поставленной переменной, убедись что это не так. Активных (геттеры/сеттеры) полей в ИЕ нет. |
| Автор: Exception 3.8.2006, 13:53 |
| Хм, а можно выложить обёртку глянуть |