가넷sw
200
2020-10-20 14:26:21
1
145

input text 내 onchange 이벤트 관련


안녕하세요. 문의 하나 드리겠습니다.


input text에 값을 넣으면 

1. keyup이벤트로 숫자가 콤마로 표시되도록 이벤트 하였습니다.

2. onchange 이벤트를 이용하여 값이 바뀌면 바뀐대로 이벤트 처리하도록 하고 있습니다.



그런데 문제가 있습니다.

keyup을 통해 숫자로 변환된 후 포커스를 빠져나갔을때 onchange 이벤트가 특정상황에서 동작하지 않습니다. 

특정상황은 text에 콤마가 포함되어 입력된 후 포커스를 빠져나갔을 경우입니다.(예 : 123,000, 123인 경우 정상동작)



input text 및 keyup이벤트

<input class="gridInput" type="text" style="width:100px; text-align:right;" id="WITHDRAWAL_AMOUNT-' + meta.row + '" value="' + $('<div/>').text(data).html() + '" onkeyup=vComma(this)>


onchange 이벤트

: gridInput이라는 class를 가진 모든 input에 대해 change이벤트 동작 스크립트

: 123,000와 같은 콤마가 포함된 값이 입력된 후 포커스 이동시 change 이벤트가 동작하지 않습니다;;

$(document).on('change', '.gridInput', function () {
		var arrVal = $(this).attr("id").split("-");
		
		console.log('값!!!!!!! : ' + arrVal[0]);
		
		var data = $('#grid').dataTable().fnGetData(arrVal[1]);//클릭행 표시			
		var row = table.row(arrVal[1]).node();
		if(data.STATUS != "I") {
			table.cell(row, 1).data('U');	
		}
		setGridStructure(arrVal[0], arrVal[1], $(this).val());
	});




위의 소스코드를 보시고 어느부분이 문제가 되는지 아시는 분 있으시면 도와주십시오. 하루종일 이거 해결안되는데 이유를 모르겠습니다.


긴 글 읽어주셔서 감사합니다.

0
  • 답변 1

  • 미짱
    315
    2020-10-20 17:57:38

    blur 이벤트도 걸어주세요..

  • 로그인을 하시면 답변을 등록할 수 있습니다.