타블렛/휴대 전화 방향에 dojox.mobile.ScreenSizeAware를 사용하고 있습니다.dojox.mobile.ScreenSizeAware 현재 태블릿 또는 휴대 전화 모드인지 확인하는 방법은 무엇입니까?
ScreenSizeAware가 태블릿 모드 일 때 내 앱에서 일부 버튼을 비활성화하려고합니다.
설명서를 확인했으며 현재 디스플레이 모드를 식별하는 isPhone() 메소드가 있습니다. 그러나,이 메서드를 호출하는 방법을 알아낼 수 없습니다. 여기
내 관련 HTML 태그는 방법입니다
<span data-dojo-type="dojox/mobile/ScreenSizeAware" id="sszaware"></span>
<div data-dojo-type="dojox/mobile/FixedSplitter" data-dojo-props='orientation:"H"' id="mainSplitter">
내가 자바 스크립트 코드 다음 시도했지만 말한다 객체/HTMLDivElement와는 어떤 방법 isPhone이 없습니다 :
alert(digit.byId('sszaware').isPhone()); //error
alert(digit.byId('mainSplitter').isPhone()); //error
alert(dojo.byId('sszaware').isPhone()); //error
alert(dojo.byId('mainSplitter').isPhone()); //error
가 나는 또한 시도 다음, 심지어 오류가있는 경우 :
require(["dojox/mobile/ScreenSizeAware"], function(sSzAw){
alert(sSzAw.isPhone()); //error
});
나는 다음에 이미 가입했습니다. 모드가 바뀌면 내 코드가 작동합니다. 그러나 이러한 주제/이벤트는 디스플레이 모드가 휴대 전화에서 태블릿으로 또는 그 반대로 변경 될 때만 트리거됩니다. 웹 페이지가 브라우저에서로드 될 때 처음에는 트리거되지 않습니다.
require(["dojo"], function(dojo){
dojo.subscribe("/dojox/mobile/screenSize/tablet", function(dim){ //this works fine when orientation changes from phone to tablet mode
alert("Reorienting tablet");
showButtons(false);
});
dojo.subscribe("/dojox/mobile/screenSize/phone", function(dim){ //this works fine when orientation changes from tablet to phone mode
alert("Reorienting phone");
showButtons(true);
});
});
나는 검색을 많이했지만 ScreenSizeAware의 프로그램 사용에 대한 예를 찾을 수 없습니다. 결국 내 문제를 해결하기 위해 stackoverflow에 전문가에게 문을 열고 있습니다.
답장을 미리 보내 주셔서 감사합니다.
답장을 보내 주셔서 감사합니다. Dimitri. 사실 나는 위의 내 질문에 오타가있었습니다. 나는'digit'가 아닌'dijit'을 제 코드에 사용하고있었습니다. 귀하의 추천을 시도하고 여전히 followinng 오류가 발생 :'Uncaught TypeError : 메서드를 호출 할 수 없습니다 'isPhone'undefined'. 나는 내 질문에 언급 한 HTML 태그 (한 번에 하나씩)에'sszaware' id를 넣으려고했으나 둘 중 하나에서 작동하지 않습니다. 귀하의 도움을 크게 주시면 감사하겠습니다. – user2318002
여기서하고있는 것처럼 클래스에없는 ScreenSizeAware 인스턴스에서 isPhone 메서드를 호출해야합니다. – Christophe
안녕하세요 Chris, HTML 태그를 통해 이미 만든 ScreenSizeAware 인스턴스에 대한 참조를 얻으려면 어떻게해야합니까? – user2318002