MUI 프레임워크를 사용할 때 헤더에 .mui-action-back이 있는 클래스를 사용하는 경우가 많습니다.
<header class=mui-bar mui-bar-nav> <a class=mui-action-back mui-icon mui-icon-left-nav mui-pull-left></a> <h1 class=mui-title> 화물조회</h1> </header>
이전 페이지로 돌아가려면 헤더의 복귀 로고를 클릭하세요.
//다음은 mui.js의 소스 코드입니다. 반환을 클릭하면 내부적으로 다음 작업이 수행되는 것을 볼 수 있습니다. //$.hook={}은 검색 기록을 기록하는 데 특별히 사용됩니다. $.back = function() { if (typeof $.options.beforeback === '함수') { if ($.options.beforeback() === false) { return; ); };$.doAction = function(type, callback) {//이전 레코드로 복귀 if ($.isFunction(callback)) { //지정된 콜백 $.each($.hooks[type], callback); } else { //콜백이 지정되지 않았으므로 직접 실행합니다. $.each($.hooks[type], function(index, Hook) { return !hook.handle(); }); = function(type, Hook) {//기록 추가 var Hooks = $.hooks[type]; if (!hooks) { Hooks = [] } Hook.index = Hook.index || Hooks.push(hook); Hooks.sort(function(a, b) { return a.index - b.index; }); $.hooks[type] = 후크;
H5를 APP로 캡슐화할 때 우리가 사용하는 5+ 인터페이스는 창인 webview라는 개념을 가지고 있습니다.
처음에는 이 두 개념을 고의로 구분하지 않아서 때로는 새창을 열어서 웹페이지를 열기도 하고, 때로는 직접적으로
location.href와 같은 URL을 통해 이동합니다.
이로 인해 휴대폰의 뒤로 버튼을 모니터링할 때 상황이 발생합니다. 시나리오는 대략 다음과 같습니다.
1. 소프트웨어를 열고 홈페이지(main.html=>HBuilder[webview])로 들어갑니다. [전자는 URL의 로컬 액세스 경로를 나타내고 후자는 윈도우 웹뷰의 ID를 나타냅니다].
2. 웹뷰를 생성하여 여는 대신 location.href를 통해 로그인 인터페이스로 이동합니다.
3. 로그인 후 기능 페이지로 진입한 후 다시 Return 키를 눌러 로그인 페이지로 돌아갑니다. 로그인한 후 휴대폰에서 복귀 버튼을 클릭하면 바로 로그아웃될 것으로 예상됩니다. 이러한 이유로 우리는 MUI의 롤백 기능에 대해 특별히 배웠습니다. 이 방법을 재정의하면 이를 달성할 수 있습니다.
모니터링해야 하는 페이지에서:
mui.back=function(){//리턴 키를 모니터링한 후 수행해야 하는 작업을 작성하세요.
하지만 웹페이지 점프와 폼 생성의 앞선 두 가지 모드를 계속 사용한다면 예상치 못한 결과가 발생하게 됩니다. 즉, mui.back은 해당 항목 파일에서만 모니터링이 가능하고, 다른 페이지나 폼에서는 모니터링이 불가능하게 됩니다. .가 트리거되면 모두 mui.ba 항목 파일에 의해 모니터링됩니다. ck 캡처를 수행하면 항목 파일의 모니터링 비즈니스 로직만 실행됩니다. 이로 인해 반환 이벤트를 사용자 정의하지 않고 이전 페이지로 돌아가는 당황스러운 상황이 발생합니다. 예를 들어 로그인 페이지로 돌아가서 이벤트 반환을 사용자 정의하면 모든 이벤트가 항목 파일에 의해 모니터링되는 것으로 나타났습니다. 즉, 다른 페이지에 mui.back=function(){}을 작성하는 것은 의미가 없습니다.
점프 페이지를 모두 폼으로 열면 위의 문제는 발생하지 않습니다. 각 창은 일반적으로 mui.back 사용자 정의 함수를 수신할 수 있습니다.
위의 내용은 이 기사의 전체 내용입니다. 모든 분들의 학습에 도움이 되기를 바랍니다. 또한 모든 분들이 VeVb Wulin Network를 지지해 주시길 바랍니다.