봉 블로그

ajax 기초 tip 본문

ajax_js

ajax 기초 tip

idkbj 2009. 11. 3. 14:05
디버깅 콘솔

function log(msg){
    var console = document.getElementById("debugConsole");    
    if(console != null){        
        console.innerHTML += msg + "";
    }
}

json escape
str.replace("\\","\\\\")
    .replace("\'", "\\\'")
    .replace("\"", "\\\"")
    .replace("\r\n", "\\n")
    .replace("\n", "\\n")

event 등록 및 삭제
addEventListener("click", doProcess, false);
attachEvent("onclick", doProcess);

removeEventListener("click", doProcess, false);
deattachEvent("onclick", doProcess);

이벤트처리
function doClickOnBtn1(e){
    var event = window.event || e;
    // event를 사용하여 정보 추출
}

이벤트 대상
event.target (표준)
event.srcElement (IE)

마우스 이벤트 발생위치
event.clientX, clientY
event.screenX, screenY

스크롤값
var dd = document.documentElement;(최신)
var db = document.body;(구)
scrollLeft, scrollTop

마우스 클릭 버튼
var isLeft = (event.which)?
            event.which == 1 && event.button = 0 : //파이어폭스/모질라
            (event.type = 'click')? event.button == 0 : event.button ==1;  //IE인 경우
var isRight = event.button == 2;
※ IE,파폭,모질라는 마우스 오른쪽 버튼을 mousedown 이벤트와 mouseup 이벤트만 발생하고 click이벤트는 발생하지 않는다. 오페라는 오른쪽 버튼을 누를 경우 아예 이벤트를 발생시키지 않는다.

키보드 이벤트
keyCode, ctrlKey, shiftKey, altKey
※ 한글을 입력할 경우 항상 키코드 값이 '229'가 된다. 또한, IE는 한글 입력상태에서 키보드를 누를때마다 keydown 이벤트가 발생하지만, 파폭,모질라,오페라의 경우는 keydown 이벤트가 처음 한번만 발생하고 그 이후에는 발생하지 않는다.

이벤트 전파 중지
event.stopPropagation() (표준)
event.cancelBubble = true; (IE)

event.preventDefault() (표준)
event.returnValue = false; (IE)