개요
EasyUI의 textbox에는 원래의 <input>에 적용할 수 있는 이벤트 중에 onChange만 설정할 수 있습니다. 그 외에는 지원을 하지 않기 때문에 직접 textbox 객체를 받아서 설정하는 방법을 사용합니다.
예제코드
$('#box').textbox('textbox').on('keyup', function(event) {
const $box = $('#box');
const text = $box.textbox('getText');
// 숫자, 영문, 한글 가능. 특수문자 ;:,.?!-_()*%#만 가능.
const regExp = /[^\s\wㄱ-힣;:,.?!\-()*%#]/g;
let safeText = text.replace(regExp, '');
// 최대 60자.
const max = 60;
if (max < safeText.length) {
safeText = safeText.substring(0, max);
}
$box.textbox('setValue', safeText);
});
해설
textbox라는 메서드 호출을 통해 얻은 객체에 이벤트를 붙일 수 있습니다. 이를 통해 EasyUI가 지원하지 않는 이벤트도 사용 가능합니다. numberbox에도 동일한 방식으로 사용 가능합니다.
참고로 위 방식을 몰랐을 때는 아래처럼 복잡한 방식으로 구현하기도 했습니다.
$('#box1').numberbox({
inputEvents:$.extend({},$.fn.numberbox.defaults.inputEvents,{
keyup : function(event) {
const text = $('#box1').numberbox('getText');
if (3 <= text.length) {
$('#box2').textbox('textbox').focus();
}
},
})
});
'컴 이것저것 > Java Script' 카테고리의 다른 글
JavaScript에 StringUtils를 만들어보자 (0) | 2023.01.12 |
---|---|
EasyUI - datagrid 내에 tooltip 띄우기 (0) | 2022.11.15 |
EasyUI - tabs/tab 현재 선택된 인덱스|id 확인하기 (0) | 2022.11.14 |
jQuery Ajax -프로그레스바 토글 (0) | 2022.11.11 |
EasyUI -options : Properties 조회 (0) | 2022.11.10 |