티스토리 뷰

728x90

1. HTML 페이지가 로딩될때 이벤트 리스너 등록

2. 리스너 동작시 실행될 함수 정의

3. 버튼 동작에 따라서 실행될 기능 정의


- HTML

<body onload="onLoad()">


- 자바스크립트

function onLoad() {

    document.addEventListener("deviceready", onDeviceReady, false);

}

function onDeviceReady() {

    document.addEventListener("backbutton", onBackKeyDown, false);

}

function onBackKeyDown() {

    navigator.notification.confirm('종료하시겠습니까?', onBackKeyDownMsg, '종료', '취소, 종료');

}

function onBackKeyDownMsg() {

    if(button == 2) {

        navigator.app.exitApp();

    }

}

이렇게만 해주면 백 버튼이 잘 동작한다


deviceready를 등록하지 않고 바로 backbutton을 했더니 아무리해도 동작이 안되어서 위처럼 해주었더니 잘된다


그냥 confirm을 쓰지 않고 navigator.notification.confirm을 쓴 이유는 

브라우저에서는 아무 문제가 없지만 폰에서는 

이렇게 Confirm 이라는 제목이 자동으로 붙는다 -_-;;


그리고 세번째 인자 '취소, 종료' 부분은 순서가 바뀌어서 출력되기 때문에 거꾸로 써줬다

리터값은 취소 = 1, 종료 = 2 이다

제대로 출력된 모습이다