2014-08-13 6 views
0
$("#" + id).tie("focus", function() { 
    alert(); 
}); 

Я пытаюсь получить комбобокс Kendo, чтобы что-то сделать, когда вам дали фокус. Кажется, я не могу получить фокусное событие, но я заменил фактическое содержимое предупреждением на тест, но не могу заставить его присутствовать. Что мне нужно, чтобы связать фокус?KendoUI combobox on focus

+0

Примерить вместо галстука, в противном случае ваш код должен работать – Mark

+0

@Mark просто пробовал, не работает – ism

ответ

4

Два вопроса, чтобы иметь в виду:

  1. Кендо UI окружит элемент ввода с некоторыми дополнительными HTML, который используется для поддержания визуальной совместимости (среди прочих) между браузерами. Поэтому, когда вы на самом деле говорите $("#" + id), вы выбираете скрытый элемент input.
  2. Kendo UI иногда создает элементы не тогда, когда вы думаете, но немного позже (например, когда вы получаете данные с сервера, возможно, что HTML не генерируется до тех пор, пока вы не получите данные).

Таким образом, вы должны использовать:

$("#" + id).data("kendoComboBox").input.on("focus", function() { 
    console.log("here"); 
}); 

Где я использую $("#" + id).data("kendoComboBox").input для фактического доступа к input элемент, который используется пользователем. Документация по inputhere

Посмотри здесь: http://jsfiddle.net/OnaBai/qgrjsak4/3/