Как перехватить событие LostFocus в коде на стороне клиента? - PullRequest
2 голосов
/ 23 декабря 2009

Это действительно тупой вопрос новичка, но я все еще изучаю веревки ASP.NET, и я не мог решить этот вопрос самостоятельно ...

Я работаю со сторонним элементом управления ( Telerik RadTimePicker ). Кто-то еще спроектировал форму, и я просто хочу перехватить событие на стороне клиента, когда элемент управления теряет фокус, чтобы я мог установить значение другого элемента управления на основе значения этого. Но я не могу найти ни одного события, которое можно использовать для этого!

Вот существующий код:

<telerik:RadTimePicker ID="timeStart" runat="server">
  <TimeView runat="server" OnClientTimeSelected="OnClientTimeSelected">
  </TimeView>
</telerik:RadTimePicker>

Как вы можете видеть, код javascript уже есть, если пользователь выберет селектор времени и щелкнет на нем время, чтобы выбрать его, но нет ничего, что могло бы справиться со случаем, когда пользователь вводит время, а затем вкладывает управление.

Как мне это сделать?

Ответы [ 2 ]

2 голосов
/ 28 декабря 2009

Поскольку RadTimePicker фактически состоит из RadDateInput, вы можете использовать все события, которые идут с этим:

http://www.telerik.com/help/aspnet-ajax/input_clientsideonblur.html

Итак, ваш код будет выглядеть так:

<telerik:RadTimePicker ID="timeStart" runat="server">
            <TimeView ID="TimeView1" runat="server" OnClientTimeSelected="OnClientTimeSelected">
            </TimeView>
            <DateInput ClientEvents-OnBlur="timeStart_onBlur">
            </DateInput>
</telerik:RadTimePicker>
0 голосов
/ 23 декабря 2009

onBlur - событие потерянного фокуса - здесь - ссылка.

Edit: для RadTimePicker вам нужно знать идентификатор базового HTML-элемента управления, чтобы присоединить обработчик к, т.е. к текстовому полю ввода. Вы можете найти это, просмотрев источник отрисованной страницы или используя что-то вроде Firebug.

Получив идентификатор, вы можете присоединить обработчик событий, используя javascript

например, в JQuery

$("id_of_textbox").bind("blur", function(e){
      //Code in here
    });
...