novasera

calendar

1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
  • total
  • today
  • yesterday
2009. 12. 16. 17:27 Programming(Web)/JAVASCRIPT
scope와 closure : http://decoder.tistory.com/689




아래는 http://www.yangkun.pe.kr/category/factory/javascript 의 내용 중 한 부분.

------------------------------------------------------------------

클로저(Closure) 에 대한 설명은 아래 문서 링크들로 대신 하겠습니다.
closure 에 대한 이해가 없으신 분들은 일독을 권합니다.


------------------------------------------------------------------

window.onclick = function;

posted by novasera
2009. 12. 15. 14:50 Programming(Web)/일반
posted by novasera
2009. 12. 15. 14:13 Programming(Web)/JAVASCRIPT
posted by novasera
2009. 12. 14. 17:13 Programming(Web)/JAVASCRIPT

아이구 머리야.... 이번에도 IE,  FF와 크롬의 차이 때문에 머리가 어질 어질 하다.

html 코딩으로 onclick = aa();  식의 이벤트 등록이 아니라

동적으로 이벤트를 등록해야 하는 일이 있었다.

보통 대상 object가 동적으로 생성됐을 경우 스타일이다 뭐다 셋팅해주면서

이벤트도 셋팅하게 되는데, 여러가지 방법이 있었지만 IE와 FF계열 양쪽 모두 되는 것을

찾기 힘들었다.

더군다나 내 경우는 <td></td> 사이에 들어갈 텍스트와 그 텍스트를 눌렀을 때 실행 될

함수명이 배열 형식으로 전달 되기 때문에 

arguments[i][0] : 텍스트
arguments[i][1] : 함수명

형식으로 써야만 했다.

그래서 처음에는 

newCell.onclick = function()
{
arguments[i][1];
}

이런식으로 했는데 arguments[i][1];을 그대로 해석해서인지 정상 동작하지 않았다.

지금 생각해보면 eval(arguments[i][1]); 식으로 해보는건 어떨까 하는데 확인은 하지 안했다.

못한게 아니다. 머리가 아파서 하기 싫은거다!!!! (지금은 쉬고 싶다구. ㅠㅠ)

그외 시도해본 케이스들은...

newCell.onclick = arguments[i][1]; // IE : x
newCell.attachEvent("onclick", arguments[i][1]); // IE : x (형식 틀리다함)
newCell.setAttribute('onclick', arguments[i][1]); //FF에선 됨

등등...그 외에 또 몇개가 있었던거 같은데, 그때 그때 써 놓질 않아서 누락된게 몇개 있다.

아무튼 결론은 아래 방법을 찾아서 해결했다.

if (newCell.addEventListener)
{
newCell.addEventListener("click", eval(arguments[i][1]), false);
}
else if ( newCell.attachEvent )
{
newCell.attachEvent("onclick", eval(arguments[i][1]));
}
else
{
newCell["onclick"] = eval(arguments[i][1]); // same as "obj.onType = fn"
}

FF인지 IE인지 그외인지 구분해서 각각에 맞게 등록시켜주는 방법이다.


[참고 사이트들]

http://junho85.tistory.com/tag/addEventListener (댓글에서 결정적 답변 얻음)


기타 PHPSCHOOL의 무수히 많은 질문과 답변들.

추가.

addEventListener의 마지막 인자에 대한 자세한 설명 : http://okjungsoo.tistory.com/entry/Event-처리


posted by novasera
2009. 12. 11. 17:14 Programming(Web)/JAVASCRIPT
if문에서 undefined 값을 비교값으로 사용하려면

if( aaa == 'undefined') ~~  이렇게 하면 안되고,

if( aaa == null) ~~  이렇게 null로 해야 한다.

쉽지만 햇갈릴 때가 많아요오.

'Programming(Web) > JAVASCRIPT' 카테고리의 다른 글

[JQuery] jQuery API 레퍼런스  (0) 2009.12.15
[JS] object에 동적 이벤트 할당  (0) 2009.12.14
[JS] 브라우저별 북마크 스크립트  (0) 2009.10.26
[etc] js 소스정리  (0) 2009.10.06
[JS] checkbox의 배열  (0) 2009.09.18
posted by novasera
2009. 12. 8. 14:50 Programming(Web)/일반
Paper Prototyping 과 Balsamiq

Balsamiq. 유용한 툴.

'Programming(Web) > 일반' 카테고리의 다른 글

[CSS] 스크롤바 명칭 및 색상  (0) 2009.12.17
[XML] XML 강좌  (0) 2009.12.15
[아파치] 가상 호스트 세팅  (0) 2009.12.02
[보안] 국가별 IP대역 보기  (0) 2009.11.06
[CSS] IME 컨트롤 한/영 변환 관련  (0) 2009.10.30
posted by novasera
2009. 12. 2. 14:44 Programming(Web)/일반
1. httpd.conf 에서

# Virtual hosts
Include conf/extra/httpd-vhosts.conf 이 라인에 주석 제거.


2. httpd-vhosts.conf 에

<VirtualHost *:80>
ServerAdmin test@qwe123.com
DocumentRoot C:/APM_Setup/htdocs/sub
ServerName www.qwe123.com
ServerAlias qwe123.com

<Directory "C:/APM_Setup/htdocs/sub">
Options Indexes FollowSymLinks
AllowOverride FileInfo AuthConfig Limit
Order allow,deny
Allow from all
</Directory>

ErrorLog logs/novasera-error_log
CustomLog logs/novasera-access_log common

</VirtualHost>

이런식으로 세팅.

'Programming(Web) > 일반' 카테고리의 다른 글

[XML] XML 강좌  (0) 2009.12.15
[기획] 빠른 UI 디자인을 위한 도구  (0) 2009.12.08
[보안] 국가별 IP대역 보기  (0) 2009.11.06
[CSS] IME 컨트롤 한/영 변환 관련  (0) 2009.10.30
[CSS] CSS 최적화 시키기  (0) 2009.09.30
posted by novasera
2009. 11. 23. 11:50 Programming(Web)/PHP

$type = $_FILES['file1']['type'];

posted by novasera
2009. 11. 23. 11:41 Programming(Web)/PHP


set_time_limit(0); 으로 하면 실행 시간이 무제한.

일반적으로 코드 내에서 set_time_limit(a); 을 만난 시점 부터 a만큼 시간이 추가 됨.
posted by novasera
2009. 11. 6. 09:56 Programming(Web)/일반
posted by novasera