『壹』 如何監聽物理按鍵函數,例如安卓的返回鍵
假 A----->B現要返A B頁面載入mui.min.js文件或者重寫返鍵
var old_back = mui.back;
mui.back = function(){
old_back();
}
面使用mui 框架使用純粹使用H5+看面文檔
『貳』 js怎麼監聽安卓返回鍵
<script>
// =========================PhoneGap==================================
// 等待載入PhoneGap
document.addEventListener("deviceready", onDeviceReady, false);
// PhoneGap載入完畢
function onDeviceReady() {
// 按鈕事件
document.addEventListener("backbutton", eventBackButton, false); // 返回鍵
}
// 返回鍵
function eventBackButton() {
if($(".classobj").is(":visible")){
alert('再點擊一次退出!');
document.removeEventListener("backbutton", eventBackButton, false); // 注銷返回鍵
document.addEventListener("backbutton", exitApp, false);//綁定退出事件
// 3秒後重新注冊
var intervalID = window.setInterval(function() {
window.clearInterval(intervalID);
document.removeEventListener("backbutton", exitApp, false); // 注銷返回鍵
document.addEventListener("backbutton", eventBackButton, false); // 返回鍵
}, 3000);
}else {
//navigator.app.backHistory();
}
}
function exitApp(){
navigator.app.exitApp();
}
</script>
『叄』 history.pushstate;什麼意思
你要問的應該是瀏覽器的history,也就是歷史記錄;我們都知道在頁面中我們可以使用javascriptwindowhistory,後退到上一頁面,但是出於安全考慮,javascripthistory不允許修改history里已有的url鏈接(也就是歷史記錄裡面的頁面地址),但可以使用pushState(相當於進棧意思)方法往history里增加url鏈接,並且提供popState事件(相當於出棧)監聽從history棧里彈出url,所以我們就可以監聽popState事件,進行相應操作,如下:
語法:element.addEventListener(event,function,useCapture);
參數:
element:文檔節點、document、window或XMLHttpRequest
event:事件類型,如"click"或"mousedown"
function:事件觸發後調用的函數或者是實現了EventListener介面
useCapture:布爾值,用於描述事件是冒泡還是捕獲,參數可選,默認false(冒泡)
注意:event不要使用"on"前綴。例如,使用"click",而不是使用"onclick"
事件冒泡還是捕獲?
事件傳遞方式有兩種:冒泡、捕獲、
事件傳遞定義了元素觸發的順序,如果你將<p>元素插入到<div>元素中,用戶點擊<p>元素,哪個元素的"click"事件先被觸發呢?
在冒泡中,內部元素的事件會先被觸發,然後再觸發外部元素,即:<p>元素的點擊事件先觸發,然後會觸發<div>元素的點擊事件。
在捕獲中,外部元素的事件會先被觸發,然後才會觸發內部元素的事件,即:<div>元素的點擊事件先觸發,然後再觸發<p>元素的點擊事件。
addEventListener()方法可以指定"useCapture"參數來設置傳遞類型:
addEventListener(event,function,useCapture);
默認值為false,即冒泡傳遞,當值為true時,事件使用捕獲傳遞。
示例:手機端監聽物理返回鍵
pushHistory();
functionpushHistory(){
varstate={
title:"title",//可以給null值
url:"#"//可以給null值
};
window.history.pushState(state,"title","#");
}
//監聽到popState事件要執行的操作
window.addEventListener("popstate",function(e){
//該幹嘛幹嘛
},false);//false表示冒泡
以上是個人見解,看下能不能幫得上