Search Results for 'JavaScript'


3 POSTS

  1. 2008/04/23 execCommand 관련 링크
  2. 2008/04/17 prototype으로 정의한 method에 setTimeout 설정하기.
  3. 2008/01/25 Javascript Cross Browsing (2)

execCommand 관련 링크

Posted 2008/04/23 21:41 by Joo
execCommand method 설명 링크

각 브라우저별 execCommand 비교 링크

execCommand 명령 설명 링크


Javascript로 할 수 있는 일은 정말 놀라울 뿐...

크리에이티브 커먼즈 라이선스
Creative Commons License

Tag : execCommand, JavaScript

javascript 삼매경에 빠져있다.
processForm=function(inservleturl) {
    this.inservleturl = inservleturl;
    this.submitForm();
}

processForm.prototype.submitForm2=function() {
}

processForm.prototype.submitForm=function() {
    setTimeout("submitStep2()", 20);
}
현재 이 소스코드에서 submitForm 은 20ms 뒤에 submitStep2() 를 수행하려 할 것이다.
그러나 setTimeout은  동기적으로 동작해서 20ms뒤에 submitStep2() 를 수행하려 할 때쯤엔 이미 submitForm method 의 영역을 벗어나서 submitStep2() 를 processForm이 아닌 다른 곳에서 찾으려 할 것이다.

그렇다면 submitStep2()를 수행하려면 어떻게 해야할까?

답은 using setTimeout when using prototype 에서 찾을 수 있었다.
마지막 submitForm 을
processForm.prototype.submitForm=function() {
    var self = this ;
   setTimeout(function() { self.submitStep2() }, 20);
}

과 같이 바꾸어 주면 된다.
그러면 self는 여전히 processForm을 가리킬 것이고 submitStep2()는 정상적으로 수행된다.


크리에이티브 커먼즈 라이선스
Creative Commons License

Tag : JavaScript, prototype, setTimeout

Javascript Cross Browsing

Posted 2008/01/25 01:40 by Joo
Javascript를 쓰다보면 정말 IE가 왜 이럴까 하는 생각을 많이 하게된다.

event, event.target 가 통하지 않기에 설마설마 했는데.... 결국..

IE에서는
event 대신 window.event 를
target 대신 srcElement 를 사용해야했다. -_

참고문서

IE에서
setAttribute를 사용해서 class를 입력할때는 obj.setAttribute ("className", ...)
즉 class 가 아닌 className을 써야한다.
모든 브라우저에 사용되는 방법은 obj.className 이다.

자바 스크립트는 생각보다 귀찮다.
크리에이티브 커먼즈 라이선스
Creative Commons License

Tag : Event, IE, JavaScript, 웹표준