2011-09-28 1 views
0

jQuery Mobile (jquery.mobile-1.0b3.min.js) 사용. 양식에 클릭 이벤트를 적용하면 뒤로 버튼은 클릭 이벤트 바인딩을 얻는 것처럼 보입니다. 선택자가 특정 요소를 얼마나 구체적으로 목표 지정했는지에 관계없이이를 수행합니다. 스크립트 파일에서 복사 코드JQM 뒤로 버튼은 타겟팅되지 않을 때 모든 클릭 이벤트에 자신을 바인딩합니다.

<div id="pagename-page" data-role="page" data-add-back-btn="true" data-back-btn-theme="b"> 

그리고이 :

뒤로 버튼을 설정하려면이 옵션을 사용하여 예를 들어 복사 코드 뒤로 버튼에

$('#awards-details-page').live('pagecreate', function(event){ 

    $('#awards-details-page input[name=submit]').bind('vclick', function() { 
     console.log('I'm going to be hijacked by the back button.'); 
    }); 
}); 

을 클릭하면 생성됩니다 브라우저에서 테스트 할 때 콘솔에 메시지가 표시됩니다.

스크립트로 페이지를 방문 할 때마다 또 다른 중복 바인딩이 추가됩니다. pagehide 이벤트에서 클릭 이벤트의 바인딩을 해제하려는 시도는 대상 요소에서 작동했지만 뒤로 버튼의 바인딩은 유지되었습니다.

는 사람이 되거 수 있습니까?

미리 감사드립니다.

+0

정말 미안하지만 'vclick'은 클릭을 트리거하는 기능입니까? 무엇을위한 vs? 오타이고 click()을 원했습니까? – zyrex

답변

0

당신은 유령이 될 vclick을 사용하지 마십시오. CLICK가 향상되었습니다. 또한 라이브가 바인드되지 않습니다 ... 바인드가 존재하는 요소에 대해 라이브가 공유 속성을 가진 모든 요소에 대한 것입니다. 그리고 동안. 과거 페이지가 존재하므로 현재 페이지에 대한 바인드 항목이 아닌 바인드 된 항목 세트를 갖게됩니다. 전체 백 버튼 요소를 스크랩하고 자신의 클릭 가능한 항목이 있습니다.이 경우 자신 만의 백 코드를 수행하고 data-backto = "# page1"과 같은 속성을 추가 할 수 있으므로 뒤로 버튼을 클릭 할 때 발생하는 상황을보다 잘 제어 할 수 있습니다 특히 안드로이드 휴대 전화에는 뒤로 버튼이 있습니다.

관련 문제