Category Archives: JavaScript

jqGrid의 기본 콤보박스(select)에 이벤트 바인딩 하기

By | 5월 30, 2013

* 칼럼모델 > editoptions > dataEvents 속성을 정의해 준다. {name:’TAX_GBN’,   index:’TAX_GBN’,   width:90, editable:true,  edittype:’select’, formatter:’select’, align:’center’,   editoptions:{   value:’1:A;2:B;3:C’,     dataEvents:[{ type:’change’, fn: function(e){ var rowId = $grid1[0].p.selrow; alert(rowId);         }}]   }   },

[펌글] 파일 업로드를 하기 전에 자바스크립트로 파일 사이즈 얻기 (javascript file size check before uploading)

By | 3월 7, 2013

– 출처 : http://iamyour.tistory.com/entry/javascript-file-size-check-before-uploading –  javascript 혹은 Jquery 에서 업로드 하기 전에 파일 용량을 체크할 수 있다. 다만 IE 에서는 작동하지 않는다.  (IE 에서 active-X를 사용하여 구현할 수 있지만 추천하지 않는다.) 관련자료 2번째 링크를 참고하면 IE에서는 click 이벤트를 해야 작동하는 것 또한 확인 할 수 있다.   $(‘#file’).bind($.browser.msie? ‘propertychange’: ‘change’, function(){     var f=this.files[0];  … Read More »

IE7에서 다른 문서(document)의 객체간에 jQuery의 append()를 사용했을 경우의 스크립트 에러에 대하여

By | 3월 6, 2013

* 개요    이 에러는 오직 IE7에서만 발생하는 에러이다.   서로 다른 문서(ex: 다른 프레임)의 객체간에 jQuery의 append()를 사용했을 경우    스크립트 에러가 발생하는 것이다. * 소스 (오류 상황)    – $(‘#mainBox’, mainFrameDoc).append( $(‘#topBox’, topFrameDoc).children().clone() ); * 해결    – 원인을 정확히 파악한 근본적인 해결책은 아니지만 workaround로서 innerHTML로 처리함.      (innerHTML의 경우 1 depth 아래로 들어가는 것에 주의한다.)… Read More »

window 객체의 screenTop, screenLeft, screenX, screenY 속성에 대하여

By | 2월 22, 2013

이 속성들은, 윈도우 바탕화면의 왼쪽 위를 기준으로 삼아 window 객체의 좌표를 측정하는 것들이다. 기본적으로는 screenTop, screenLeft 를 사용하지만,  FireFox에는 해당 속성이 없어서 screenX, screenY를 사용한다. 그런데 문제는, 각 브라우저에서 위의 값들이 의미하는 바가 다르다는 것이다. 좀 더 테스트를 해 봐야 알겠지만… 프레임셋으로 구성된 화면을 각 브라우저에서 호출하면,  IE에서는 각 프레임을 구성하는 window 객체를 대상으로 좌표를… Read More »

window.name 을 설정했다가 없앴을 때에도 계속 설정한 name이 남아 있는 이유

By | 2월 15, 2013

생각해 보니 window 객체는 DOM이 아니라 BOM(Browser Object Model)이었다. 그러므로 객체에 셋팅한 프로퍼티가, 문서 단위로 reload 되는 것이 아니라, 브라우저 단위로 reload 되는 것이었던 것이었다!! 따라서 window 객체에 name을 계속 셋팅하면 계속 갱신되지만, name을 셋팅 했다가 name을 셋팅한 구문을 제거한다고 해도, 문서가 reload 되는 것에 관계 없이 브라우저에 해당 정보가 남아있으므로  name이 지워지지 않았던 것이었다. 그러므로… Read More »

jQuery TreeView 플러그인 사용시, IE7 (혹은 호환성모드)에서 트리가 깨지는 경우

By | 2월 13, 2013

※ 완벽한 해결책은 아니지만, 다음의 방법으로 일단 깨지는 것을 막을 수 있다. * 트리가 만들어지는 페이지에 다음의 스타일 추가      <style type=”text/css”>       ul, li { zoom: 1 }   </style> * 완벽하지 않다고 한 이유는, 트리의 2depth 이상에서 트리를 펼칠 때 트리가 약간 (1픽셀 정도) 위로   움직이는 현상이 있었기 때문이다. (IE7 혹은 호환성보기에서만)

jQuery UI의 dialog 위젯으로 로딩이미지 생성시, 오페라 브라우저 (opera)에서 빨간 테두리가 생기는 현상

By | 1월 31, 2013

* 오페라 브라우저는 포커스가 간 엘리먼트에 빨간 테두리를 쳐 버리는 특징이 있는 것 같다.   검색을 조금 해 보니 이것은 버그도 아니고 브라우저 설계시 그렇게 되도록 만든 것 같다.   jQuery UI의 dialog 위젯으로 로딩이미지를 만들었을 경우, 로딩이미지가 show() 될 때   로딩이미지의 부모 엘리먼트에 포커스가 가서 빨간 테두리가 그려지는 문제가 간혹 생겼는데,   그래서 부모 엘리먼트의 tabindex 속성… Read More »

body 엘리먼트를 display:none 처리한 후 jQuery의 show() 함수를 호출했을 때 파이어폭스(FireFox)에서 화면이 나타나지 않는 현상

By | 10월 20, 2012

* 원인    – body의 기본 display 속성은 block인데,     FireFox 에서는 show()를 해도 display속성이 block이 되지 않는갑다.      * 해결    – display 속성을 block으로 만든 후 show를 해 주었다.   – $(‘body’).css(‘display’, ‘block’).show();      * 참고 사항    – display:none이 아닌 $(‘body’).hide()를 사용해서 숨겼을 경우에는 별 문제가 없었다.    – jQuery 1.8.x 에서는… Read More »

IE에서 사용하는 window.event (이벤트 전역객체) 에 대하여

By | 8월 31, 2012

어디서 읽은 글이라 출처가 없다 -.-;;… 비 IE계열의 브라우저에서는 이벤트객체를 사용할 때, 이벤트 핸들러에 반드시 이벤트 객체를넘겨주어야 하는 반면에, IE에서는 마지막으로 발생한 이벤트에 대해서 window.event 라는 전역속성명으로이벤트 객체를 참조하는 것이 가능하다고 한다.

공백 등 특수문자가 들어있는 id를 사용하여 jQuery 객체를 생성할 때 어떻게 하면 될까?

By | 8월 24, 2012

답1) 엘리먼트 id에는 특수 문자를 쓰면 안된다 >, < !!! 답2) 하지만 어쩔 수 없는 경우란 게 있잖아… (-,.   –  ) …       => attribute명으로 참조할 경우 그 안에서 문자열을 따옴표로 감쌀 수 있기 때문에 참조가 가능하다!!          (예: $(“div[id=’content Module’]” )            => 위와 같이 쓰면… Read More »

jQuery의 $obj.data() 메서드 사용 예시

By | 8월 14, 2012

$(‘#reqTable’).data(‘A’, ‘111’); //데이터 셋팅 $(‘#reqTable’).data(‘B’, ‘222’); $(‘#reqTable’).data(‘C’, ‘333’); $(‘#reqTable’).removeData(‘A’);  //특정 데이터 삭제        $(‘#reqTable’).data(‘B’)); //특정 데이터 리턴        $(‘#reqTable’).removeData(); //전체 데이터 삭제    $(‘#reqTable’).data()); //전체 데이터 리턴