전체 페이지에서 비활성 탭을 사용하면 투명 div로 전체 페이지를 오버레이 할 수 있습니다. 경계선 해킹으로 간주 될 수도 있지만 실제로는 최소한의 js와 css를 사용합니다!
주의 할 점은 페이지가 비활성화되었음을 시각적으로 알려주지 않는다는 것입니다.
이렇게하려면 오버레이에 대해 반투명 회색을 사용하거나 아래에서 수행 한 것처럼로드 메시지를 표시하십시오.
먼저 작은 CSS 토론 :
전체 페이지 집합 너비와 높이를 100 %로 설정하십시오. 정확하게 배치하려면 position : absolute를 사용하고 투명 배경의 경우 rgba background-color 속성을 사용합니다 (아래 참조). -webkit-tap-highlight-color 특성을 사용하여 탭 콜 아웃 (tab-callout)을 제거하고 다른 모든 항목보다 위에 오도록 Z- 색인을 선언해야합니다 (필요한 경우 증가시킬 수 있음). 디스플레이를 none으로 설정 한 다음 무거운 작업 동안 그것을 표시하십시오.
나는 jsfiddle which hopefully clears things up을 만들었습니다.
여기에 위에 설명 된 속성이있는 "inactivator"라는 ID로 div를 만들었습니다. 또한 jQuery의 show 함수를 위임 한 id에 "inactivate"라는 버튼을 만들었습니다. jQuery Mobile의 기본 로딩 메시지를 추가하여 자유롭게 앱의 생각을 시각적으로 알려주는 역할도했습니다 (지연으로 오인하지 않았습니다).
로드 아웃 메시지와 "inactivator"가 5 초 후에 숨겨 지도록 시간 초과 기능을 추가했습니다. 분명히 귀하의 경우에는 동일한 코드가 5 초 후에가 아니라 "과도한 프로세싱"이 완료 될 때 해고되어야합니다.
(신규, 추가 답변을 내가 제대로 질문을 이해하지 못했지만 기존의 대답은 여전히 다른 사람에게 도움이 될 수 있기 때문이다.)
답변 해 주셔서 감사합니다. 그 뒤에 복잡한 프로그램 방식으로 생성 된 jqm 목록이므로 저에게 매우 지저분한 해결책이 될 것입니다. 확실히 잡을 특히 실수로 클릭 할 수있는 모든 가능한 요소를 참조하지 않고 이러한 원치 않는 클릭을 삭제하는 간단한 방법이있다? – Alveoli
앱이 생각할 때 클릭을 사용하지 않도록 설정하려는 전체 페이지가 있습니까? – Hessius
예. 어떤 아이디어? – Alveoli