Category Archives: JavaScript

event.stopPropagation() 에 대하여

By | 5월 3, 2012

* event.stopPropagation() 이 왜 필요한가?    – 상위 엘리먼트의 동일한 이벤트가 호출되는 것을 막기 위하여    – 만약 TR에 onclick이벤트가 걸려 있고, TABLE에도 걸려있을 경우,     TR을 클릭하면 TR이벤트 => TABLE이벤트 순으로 이벤트핸들러가 호출되는데.     이 경우 TABLE이벤트가 trigger되지 않도록 하는 것이 stopPropagation() 이다. * 참고     – 모질라 사이트에 있는 예제를 참고하면 이해가 쉬울… Read More »

java.net.URLEncoder.encode()로 인코딩한 문자열을 javascript에서 변환할 때 space(공백)가 +로 바뀌는 것에 대한 해결

By | 4월 6, 2012

예전에는 공백문자의 인코딩(URI encoding)결과가 “%20″(맞나?) 이었다고 하는데현재는 공백문자의 인코딩결과가 “+” 로 표준이 변경된 것 같다. java 내부적으로는 디코딩이 잘 될지 몰라도 자바스크립트에는 아직 “+” 로 바뀐 표준을 지원하지 않는 것처럼 보여서, 그냥 +를 공백문자로 relace(치환)하는 코드를 추가했다. value = decodeURIComponent(value || ”).replace(/\+/g, ‘ ‘);

[펌글] 자바스크립트 call()과 apply()의 차이점

By | 4월 5, 2012

세부적인 차이점은 잘 모르겠고 -_-; 가장 큰 차이점은 call()은 호출시 인수를 명시적으로 나열해 주어야 하고, apply()는 호출시 arguments와 같은 인수배열 하나를 받는다는 점이다. 그래서 공통작업 할 때 apply()가 좋아 >,. < !! * 참고링크 call()과 apply()에서 변경되는 this의 의미 call() apply()    

jQuery ajax 호출시 http헤더(header)에 사용자정의 값을 셋팅하는 방법

By | 4월 3, 2012

1. 정적 셋팅     jQuery ajax option의 headers 속성에 {key:value} javascript object를 정의한다. 2. 동적 셋팅     jQuery ajax option으로 beforeSend() 이벤트 핸들러를 정의하고 그 내용에     setRequestHeader(key, value) 함수를 사용하여 원하는 header 값을 설정한다.    이 설정은 정적 셋팅을 오버라이딩한다.

[펌글] 자바스크립트(javascript)에서 arguments (인수의 배열)를 다른 함수로 그대로 넘겨서 실행하기

By | 3월 30, 2012

– 출처 : http://stackoverflow.com/questions/3914557/passing-arguments-forward-to-another-javascript-function –  * 개요 a()함수의 인수를 그대로 b함수로 넘기며 실행하되, b()함수의 인수의 갯수가 가변적일 경우에도 대응할 수 있도록  arguments 배열을 사용한다. function a(arg1, arg2, arg3){ b.apply(this, arguments); } function b(arg1, arg2, arg3){ alert(“arg1:”+arg1+”, arg2:”+arg2+”, arg3:”+arg3); } a(‘Jin’, ‘Nina’, ‘Paul’);   //테스트! * 응용 arguments 는 (객체)배열이므로 잘라내거나 병합할 수 있다. 응용해 보자!

자바스크립트 reset() 함수가 동작하지 않는다?!?!!

By | 3월 28, 2012

분명히 문법을 정확히 입력했음에도 왠지 javascript의 reset() 함수가 동작하지 않았었다. 왜일까…? 구글링을 해 보니  “reset() 함수는 폼엘리먼트의 내용을 비우는 것이 아니라 페이지 로딩시의 초기값으로 돌리는 기능을 한다”  라고 나와있었다. 그냥 싹 비우는 건 줄 알았는데 아니었어. >, <  결국 나름대로 제대로 동작하고 있던 것이었다.

[펌글] 브라우저에서 팝업창과 부모창간에 참조 방법

By | 1월 3, 2012

– 출처 : http://zinever.tistory.com/3 – opener 와 popup 창간에 변수를 참조하는 경우, 두 창 모두 열려 있는 상태라면 특정 변수를 참조 하는데 별다른 문제가 없는데, popup창을 닫는 동작과 함께 popup창에서 특정 변수, 객체를 opener로 전달 할때에는 브라우져 마다 각각 다르게 동작한다.                                  … Read More »

[펌글] 자바스크립트 hasOwnProperty() 함수의 크로스브라우징 처리

By | 12월 30, 2011

– 출처 : https://gist.github.com/332357 – * 개요 hasOwnProperty() 함수는 객체에 지정된 이름을 가진 속성이 있는지 여부를 반환하는 함수이다. (‘own’ 의 의미는 프로토타입 체인이 아닌, 객체 자체가 해당 속성을 가지고 있는지 여부를 나타내는듯 하다.) 그러나 구버전 IE 에서는 이 함수를 그대로 사용할 수 없기 때문에  다음의 코드를 소스에 추가하여 크로스브라우징 처리를 하도록 하자. * 코드 if ( !Object.prototype.hasOwnProperty )… Read More »

IE에서 jQuery text(arg) 함수 사용시 테이블(table) 렌더링 오류(불필요한 선 생성)가 날 경우

By | 12월 27, 2011

* 증상     테이블의 특정 TD에 jQuery의 text(arg) 함수를 사용하여 값을 삽입하는데,     테이블의 셀을 가로지르는 불필요한 선들이 불규칙하게 생성되었다.     (아래 그림에서 원래 이중실선이 아닌데 아래와 같이 렌더링 되었음)        오직 IE 에서만 이 문제가 발생한다. (IE 진짜.. 어후 그냥 -_-+…) * 원인     jQuery selector 의 잘못된 사용… Read More »

IE에서 jQuery를 사용하여 테이블 핸들링(조작/변경)시 깨지는(깨질) 경우

By | 12월 23, 2011

* rowspan 문제일 경우    – IE에서 테이블의 TD는 rowspan 속성을 따로 주지 않아도 기본적으로 rowspan=’1′ 을 가지고 있다.      그래서 rowspan 속성의 존재여부를 확인하는 .filter(‘[rowspan]’) 같은 selector는 사용할 수 없다.     – 그래서 filter() 에 함수를 사용하여 크로스브라우징 문제를 해결했다.         .filter(function(){          var $td = $(this);… Read More »

[펌글] 자바스크립트 arguments.callee와 arguments.caller 에 대하여

By | 12월 22, 2011

– 출처 : http://dancer.tistory.com/53 – arguments.callee This property is a reference to the function that you are in. Which is very handy if you want to get a reference to an anonymous function from inside itself. One good reason for doing this would be in a recursive anonymous function. arguments.caller This property is a reference to the… Read More »

jQuery에서 visibility 속성 핸들링 하기

By | 12월 16, 2011

* jQuery의 hide(), show() 메서드는 display 스타일 속성과만 관계가 있는 듯 하다.        visibility 속성을 핸들링 하려면 jQuery의 css() 함수를 사용하자.      $obj.css(‘visibility’, ‘hidden’);     //숨기기      $obj.css(‘visibility’, ‘visible’);     //보이기