[링크] Front-end 개발자 문제은행
https://github.com/Songhun/Front-end-Developer-Interview-Questions/tree/master/Korean
https://github.com/Songhun/Front-end-Developer-Interview-Questions/tree/master/Korean
– 출처: 이펙티브 자바스크립트(인사이트), 자바스크립트 핵심 가이드(한빛미디어) – * 클로저란? – 자신을 내포하는 함수의 문맥(context)에 접근할 수 있는 함수. – 함수 자신이 포함하는 스코프의 변수들을 추적하는 함수. * 클로저의 특징 – 외부함수의 실행 스코프가 종료된 상황에서도, 외부함수의 지역변수를 클로저가 참조하고 있다면, 해당 변수의 사본이 아닌 참조 자체를 클로저가 접근하여 값을 변경할 수 있다.… Read More »
* 칼럼모델 > 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); }}] } },
http://helloworld.naver.com/helloworld/12864
– 출처 : 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 »
window.open 뿐만 아니라, anchor 태그를 사용하여 새 창을 띄웠을 경우에도 링크가 있는 페이지가 opener가 된다!!예) <a href=”http://blabla.com” target=”_blank”>BLABLA</a> 그러므로 크로스도메인 (cross domain) 접근 에러에 주의하자!!
* 개요 이 에러는 오직 IE7에서만 발생하는 에러이다. 서로 다른 문서(ex: 다른 프레임)의 객체간에 jQuery의 append()를 사용했을 경우 스크립트 에러가 발생하는 것이다. * 소스 (오류 상황) – $(‘#mainBox’, mainFrameDoc).append( $(‘#topBox’, topFrameDoc).children().clone() ); * 해결 – 원인을 정확히 파악한 근본적인 해결책은 아니지만 workaround로서 innerHTML로 처리함. (innerHTML의 경우 1 depth 아래로 들어가는 것에 주의한다.)… Read More »
이 속성들은, 윈도우 바탕화면의 왼쪽 위를 기준으로 삼아 window 객체의 좌표를 측정하는 것들이다. 기본적으로는 screenTop, screenLeft 를 사용하지만, FireFox에는 해당 속성이 없어서 screenX, screenY를 사용한다. 그런데 문제는, 각 브라우저에서 위의 값들이 의미하는 바가 다르다는 것이다. 좀 더 테스트를 해 봐야 알겠지만… 프레임셋으로 구성된 화면을 각 브라우저에서 호출하면, IE에서는 각 프레임을 구성하는 window 객체를 대상으로 좌표를… Read More »
생각해 보니 window 객체는 DOM이 아니라 BOM(Browser Object Model)이었다. 그러므로 객체에 셋팅한 프로퍼티가, 문서 단위로 reload 되는 것이 아니라, 브라우저 단위로 reload 되는 것이었던 것이었다!! 따라서 window 객체에 name을 계속 셋팅하면 계속 갱신되지만, name을 셋팅 했다가 name을 셋팅한 구문을 제거한다고 해도, 문서가 reload 되는 것에 관계 없이 브라우저에 해당 정보가 남아있으므로 name이 지워지지 않았던 것이었다. 그러므로… Read More »
※ 완벽한 해결책은 아니지만, 다음의 방법으로 일단 깨지는 것을 막을 수 있다. * 트리가 만들어지는 페이지에 다음의 스타일 추가 <style type=”text/css”> ul, li { zoom: 1 } </style> * 완벽하지 않다고 한 이유는, 트리의 2depth 이상에서 트리를 펼칠 때 트리가 약간 (1픽셀 정도) 위로 움직이는 현상이 있었기 때문이다. (IE7 혹은 호환성보기에서만)
* 오페라 브라우저는 포커스가 간 엘리먼트에 빨간 테두리를 쳐 버리는 특징이 있는 것 같다. 검색을 조금 해 보니 이것은 버그도 아니고 브라우저 설계시 그렇게 되도록 만든 것 같다. jQuery UI의 dialog 위젯으로 로딩이미지를 만들었을 경우, 로딩이미지가 show() 될 때 로딩이미지의 부모 엘리먼트에 포커스가 가서 빨간 테두리가 그려지는 문제가 간혹 생겼는데, 그래서 부모 엘리먼트의 tabindex 속성… Read More »
jqueryWTP : Eclipse jQuery Code Assist Plugin
http://igna.tistory.com/20
* 원인 – 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 »
* 하이픈을 모두 지워주고 특정 자릿수에 하이픈을 삽입 (ex: 주민등록번호, 사업자번호) cellvalue = cellvalue.replace(/-/g, ”).replace(/(\d{3})(\d{2})(\d{5})/g, ‘$1-$2-$3’);
/[\{\}\[\]\/?.,;:|\)*~`!^\-_+<>@\#$%&\\\=\(\’\”]/gi * 필요한 특수문자가 다 있는지 아닌지는 검증되지 않은 상황임* 공백도 추가하고 싶다면 \s 도 추가해 주자
ZeroClipboard * 참고 대부분의 브라우저는 보안상의 이유로 클립보드 접근이 허용되지 않기 때문에 Flash등을 사용하여 클립보드 copy에 대한 대안을 마련하는 경우가 종종 있다.
* IE의 경우 – 방법1) 현재 도메인을 ‘신뢰할 수 있는 사이트’에 등록한다. – 방법2) IE옵션에서 보안수준을 ‘보통’으로 내린다. – 방법3) 고급옵션에서 설정할 수 있다고 한다(해본 적은 없음) * 기타 브라우저의 경우 방법이 발견되는 대로 기록하자!!
어디서 읽은 글이라 출처가 없다 -.-;;… 비 IE계열의 브라우저에서는 이벤트객체를 사용할 때, 이벤트 핸들러에 반드시 이벤트 객체를넘겨주어야 하는 반면에, IE에서는 마지막으로 발생한 이벤트에 대해서 window.event 라는 전역속성명으로이벤트 객체를 참조하는 것이 가능하다고 한다.
* 프레임셋의 cols attribute는 css속성으로 접근할 수 없기 때문에 jQuery animate를 사용할 수 없다는 특징이 있다. $(function () { var minimizeInterval = null; var current = 500; … Read More »