검도 -ui 자동 완성 컨트롤을 확장하려고합니다. 사용자가 입력 할 때 검색을 시작해야하므로 기본적으로 keydown 이벤트의 사용자 입력을 확인해야합니다. 나는이 코드로를 keyDown 이벤트 잡으려고 노력했습니다 : 나는 자동 완성을 뭔가를 잘못하고 있어요 및 호출 할 수있는 바인더 제본 이벤트 검도 -ui 자동 완성 확장
(function($) {
ui = kendo.ui,
Widget = ui.Widget
var ClienteText = ui.AutoComplete.extend({
init: function(element,options) {
var that=this;
ui.AutoComplete.fn.init.call(this, element, options);
$(this).bind('keydown',function(e){ console.log(1,e); });
$(element).bind('keydown',function(e){ console.log(2,e); });
},
options: {
[...list of my options...]
},
_keydown: function(e) {
console.log(3,e);
kendo.ui.AutoComplete.fn._keydown(e);
}
});
ui.plugin(ClienteText);
})(jQuery);
없음이 호출되지됩니다
만 _keydown을하고 "정상"를 keyDown 행사. 기본 위젯을 확장 한 다음 합성 위젯을 만드는 많은 예제를 보았습니다.하지만 그렇게하는 것에는 관심이 없으며 기존 위젯에만 기능을 추가하려고합니다. 누군가 내가 잘못하고있는 것을 보여줄 수 있습니까?감사합니다.
초기화 함수 이렇게 : '$ (요소) .bind (함수 (E) { VAR K 컨트롤 = $ (이)'에서 KeyDown '.DATA ('kendoClienteText '); 경우 (e.which === 13) { kcontrol.setDataSource (datasource_clientes) kcontrol.search ($ (이) .val()); } 다른 { kcontrol.setDataSource (널) } }); 실제로' 내가 원하는 것을해라. 그러나 이것이 올바른 방법이라고 확신하지 못한다. 어떤 제안이라도 환영합니다! (코드 포맷팅에 대해 유감스럽게 생각합니다) –
"검열"검도 자동 완성 컨트롤 검색 호출을 중단하는 방법을 코드에 여전히 표시하지 못합니까? – Vojtiik
$ (요소) .bind ('keydown', function (e) {...})는 마술을 수행합니다. 실제로는 아래의 답변에서 작동하는 코드를 넣을 것입니다. –