เมื่อใช้กรอบงาน 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 (ประเภทของ $.options.beforeback === 'function') { if ($.options.beforeback() === false) { return; };$.doAction = function(type, callback) {//กลับไปยังบันทึกก่อนหน้า if ($.isFunction(callback)) { //Specified callback $.each($.hooks[type], callback); } else { // ไม่มีการระบุการเรียกกลับ ดำเนินการโดยตรง $.each($.hooks[type], function(index, hook) { return !hook.handle(); }); = function(type, hook) {//Add history 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[ประเภท] = ตะขอ;
เมื่อเรารวม H5 ไว้ใน APP อินเทอร์เฟซ 5+ ที่เราใช้จะมีแนวคิดของ webview ซึ่งก็คือหน้าต่าง
ในตอนแรกผมไม่ได้ตั้งใจแยกแยะระหว่าง 2 แนวคิดนี้ บางครั้งผมจึงเปิดหน้าต่างใหม่เพื่อเปิดหน้าเว็บ หรือบางครั้งผมโดยตรง
ข้ามผ่าน URL เช่น: location.href
ซึ่งจะนำไปสู่สถานการณ์เมื่อตรวจสอบปุ่มย้อนกลับของโทรศัพท์มือถือ สถานการณ์โดยประมาณมีดังนี้:
1. เปิดซอฟต์แวร์และเข้าสู่หน้าแรก (main.html=>HBuilder[webview]) [อันแรกแสดงถึงเส้นทางการเข้าถึงในเครื่องของ URL และอันหลังคือ ID ของหน้าต่าง webview]
2. ข้ามไปที่อินเทอร์เฟซการเข้าสู่ระบบผ่าน location.href แทนที่จะเปิดโดยการสร้าง WebView
3. หลังจากเข้าสู่ระบบแล้ว ให้เข้าสู่หน้าฟังก์ชั่น กด Return อีกครั้ง และกลับสู่หน้าเข้าสู่ระบบ ความคาดหวังก็คือหลังจากที่ฉันเข้าสู่ระบบ ถ้าฉันคลิกปุ่มย้อนกลับบนโทรศัพท์ ฉันจะออกจากระบบโดยตรง ด้วยเหตุนี้ เราจึงได้เรียนรู้เป็นพิเศษเกี่ยวกับฟังก์ชันการย้อนกลับของ MUI เราสามารถทำได้โดยการแทนที่วิธีนี้
บนหน้าที่ต้องมีการตรวจสอบ:
mui.back=function(){//เขียนการดำเนินการที่คุณต้องทำหลังจากตรวจสอบคีย์ส่งคืน
อย่างไรก็ตาม หากคุณยังคงใช้สองโหมดก่อนหน้าของการข้ามหน้าเว็บและการสร้างแบบฟอร์ม ผลลัพธ์ที่ไม่คาดคิดจะเกิดขึ้น นั่นคือ mui.back สามารถตรวจสอบได้ในไฟล์รายการเท่านั้น และการตรวจสอบที่ทำในเพจหรือแบบฟอร์มอื่นจะไม่สามารถทำได้ . ถูกทริกเกอร์ ทั้งหมดจะถูกตรวจสอบโดยไฟล์รายการ mui.ba ck จะมีการดำเนินการเฉพาะตรรกะทางธุรกิจการตรวจสอบของไฟล์รายการ ซึ่งนำไปสู่สถานการณ์ที่น่าอับอายในการกลับไปยังหน้าก่อนหน้าโดยไม่ต้องปรับแต่งเหตุการณ์การส่งคืน: ตัวอย่างเช่น การกลับไปยังหน้าเข้าสู่ระบบ และการปรับแต่งการส่งคืนเหตุการณ์ เรา พบว่าเหตุการณ์ทั้งหมดถูกตรวจสอบโดยไฟล์รายการ ซึ่งหมายความว่าไม่มีเหตุผลที่จะเขียน mui.back=function(){} ในหน้าอื่น
ถ้าเปิดหน้าข้ามทั้งหมดเป็นแบบฟอร์ม ปัญหาข้างต้นจะไม่เกิดขึ้น แต่ละหน้าต่างสามารถฟังฟังก์ชันที่กำหนดเองของ mui.back ได้ตามปกติ
ข้างต้นคือเนื้อหาทั้งหมดของบทความนี้ ฉันหวังว่ามันจะเป็นประโยชน์ต่อการศึกษาของทุกคน ฉันหวังว่าทุกคนจะสนับสนุน VeVb Wulin Network