События для управления HTMLEditor в ASP.NET AJAX Control Toolkit? - PullRequest
0 голосов
/ 18 мая 2009

Я использую элемент управления HTMLEditor из ASP.NET AJAX Control Toolkit. Работает отлично. Я хотел бы подключить событие keyup (onkeyup), чтобы я мог делать такие вещи, как отображать (приблизительное) текущее количество символов в редакторе.

Я пришел к выводу, что редактор в конечном итоге является элементом textarea внутри элемента iframe. Я могу прикрепить события к текстовой области, используя следующий синтаксис:

$addHandler($get("Editor1_ctl02_ctl01"), "keyup", displayCharCount);

Эта строка работает без ошибок. Однако указанный метод (displayCharCount) никогда не вызывается. Я не знаю, является ли это функцией текстовой области, находящейся в iframe, или элемент управления уже съел событие или что.

FWIW, это работает, как и ожидалось, на простой странице, которая использует обычный элемент textarea.

Есть идеи?

1 Ответ

0 голосов
/ 06 августа 2009

Текстовая область есть, но она скрыта. Таким образом, ваш обработчик событий может быть зарегистрирован, но «keyup» никогда не сработает на скрытом элементе управления. Возможно, вы захотите попробовать другое событие, например onchange или ontextchange (или как там его называют).

Окно редактора, которое вы видите, на самом деле является HTML-документом в самом iframe. HTML-документ находится в «режиме редактирования», поэтому он напоминает текстовое поле. Скрытая текстовая область просто используется как умное место для хранения разметки html, поэтому при отправке формы разметка html отправляется на сервер.

Это хитрый способ заставить все это работать ... но это работает!

...