Category Archives: JavaScript

jQuery 이벤트 스로틀링 플러그인 (event throttling)

By | 8월 8, 2012

http://benalman.com/projects/jquery-throttle-debounce-plugin/  – ajax call 처리 등을 위해서 : debounce() 사용- 리사이즈(resize), 스크롤링(scrolling) 처리 등을 위해서 : throttle() 사용- 해당 함수들을 실행하면 함수가 실행되는 것이 아니라 함수 자체를 리턴함에 유의한다.

window.open() 으로 팝업을 호출했을 때 팝업이 부모창 뒤로 숨는 현상 방지

By | 7월 26, 2012

* 문제해결의 요점은 “팝업에 포커스를 준다” 는 것이다.   그래서 다음과 같이 할 수 있을 듯 하다.    (1) 팝업페이지의 onload 스크립트에서 다음의 코드 호출         window.focus();    (2) 부모페이지의 window.open()의 리턴을 받아서 다음의 코드 호출          – 그러나 이 코드는 준비되자마자 호출할 수 없고, 팝업의 렌더링 시간을 예측하여    … Read More »

jQuery UI의 버튼()이 있는 페이지에서 input text에 엔터키를 입력했을 때 form 내의 첫번째 버튼이 클릭되어 함수가 실행되는 경우

By | 7월 23, 2012

* 현상    form 안에 조회조건 input text와 jQuery-UI의 button이 있다.    (form은 onsubmit=”return false” 처리되어 있는 상태임)   input text 에 조회조건을 입력하고 엔터키를 입력하니 button에 바인딩된 함수가 실행되었다.-.-;;   keycode == 13 이런 이벤트바인딩을 해 준 것도 아닌데 어떻게 이렇게 된단 말인가!! * 원인규명    원인을 찾기 힘들었던 이유는 form에 이미 return false가 되어 있기 때문이었다.   위… Read More »

[펌글] 자바스크립트(javascript) 배열(array) 관련 문법 정리

By | 5월 9, 2012

* 자바스크립트 배열(array) 관련 문법- 출처 : http://www.yunsobi.com/blog/3 – – 배열의 생성                    var arr = [1,2,3,4,5];                  //리터럴로 생성 var arr = new Array();                    //Array 클래스로 생성var arr = new Array(5);                … Read More »

namedItem() 함수에 대하여

By | 5월 3, 2012

자바스크립트HTML컬렉션객체.namedItem(id or name);    – 엘리먼트 컬렉션 내에 해당 id나 name을 갖는 객체가 있으면 그 객체를 반환한다. * 참고 링크    http://www.java2s.com/Code/JavaScriptReference/Javascript-Methods/namedItemSyntaxParametersandNote.htm 

event.shiftKey 에 대하여

By | 5월 3, 2012

var bool = event.shiftKey; event 객체는 true/false의 값을 갖는 shitKey 라는 속성을 가지고 있어서, 이벤트 호출시 쉬프트키가 눌러졌는지 여부를 알 수 있다. * 참고 링크    https://developer.mozilla.org/en/DOM/event.shiftKey      HTML DOM Event Object

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() 함수는 폼엘리먼트의 내용을 비우는 것이 아니라 페이지 로딩시의 초기값으로 돌리는 기능을 한다”  라고 나와있었다. 그냥 싹 비우는 건 줄 알았는데 아니었어. >, <  결국 나름대로 제대로 동작하고 있던 것이었다.