WEB2.0/ExtJS
[ExtJS] TextField에서 키이벤트 활성화시키기
시반
2009. 1. 7. 19:39
폼패널에서는 Config 옵션에에 keys 라는 옵션이 있다.
이것은 폼패널내에서 키이벤트를 핸들링 하는 옵션이다.
많이 사용하는 예는 엔터키를 쳤을 때 OK 버튼 클릭 이벤트가 수행되도록 하는 것이며
그 예는 다음과 같다.
keys:[{
key:[10,13] // enter
,scope:this
,stopEvent:true
,fn:this.onOK
}]
key:[10,13] // enter
,scope:this
,stopEvent:true
,fn:this.onOK
}]
TextField만를 사용할 때는 키이벤트를 어떻게 할까?
TextField에는 keydown, keypress, keyup 이라는 세가지 키이벤트를 정의하고 있음에도 불구하고
다음과 같이 리스너로 등록해봐도 작동이 되지 않는다.
listeners:{
keydown:function(t,e){
if(e.keyCode == 13){
//to do
}
}}
왤까? 그 이유는?
This event only fires if enableKeyEvents is set to true.
TextField에서는 enableKeyEvents 옵션이 true 인 경우에만 키이벤트를 핸들링 할 수 있다.
var field = new Ext.form.TextField({
enableKeyEvents: true
});
field.on('keydown', function() {
//to do
});
enableKeyEvents: true
});
field.on('keydown', function() {
//to do
});