導航:首頁 > 物理學科 > js如何監聽手機的物理返回鍵

js如何監聽手機的物理返回鍵

發布時間:2022-09-20 22:51:47

『壹』 js 監聽瀏覽器的返回按鈕事件在安卓和ios的坑

這是ajax的一個經典問題,很多框架都提供了解決方案,重點是模擬瀏覽器的前進後退。

對於IE,可以用一個隱藏框架,對框架內容的導航會使得前進後退按鈕被觸發。
對以FF,可以用Hash,即改變http://www.url.com/#abc井號後面的部分,前進後退按鈕同樣被觸發。

這樣就能既讓瀏覽器前進後退按鈕被觸發,同時又不離開本頁面。具體方法如下:

1.resize事件 (window).resize(function() { var width = (this).width(); var height = (this).height(); });

2.js條用這個方法 function closewindow{ history.go(-1); }

3.<input type="button" value="後退" onClick="history.back();"> 或 <input type="button" value="後退" onClick="history.go(-1);">
4.window.location.replace Location對象的replace()方法將用指定的URL替換瀏覽器歷史列表中的當前URL,而不是在歷史列表中創建一個新的項,因此,就不能使用IE的後退按鈕來返回原始文檔了。 2.window.open(FF無效...

『貳』 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表示冒泡

以上是個人見解,看下能不能幫得上

『叄』 js怎麼監聽移動端鍵盤展開事件

目的 : 監聽移動端鍵盤展開事件

工具 : 移動端, js

思路 : 可以通過監聽窗口大小的改變來實現,當端鍵盤展開時,窗口的大小發生改變,依據此基礎進行判斷.

js 移動端關於頁面布局,如果底部有position:fixed的盒子,又有input,當軟鍵盤彈出收起都會影響頁面布局。這時候Android可以監聽resize事件,代碼如下,而iOS沒有相關事件。

方法一實現代碼:

//獲取當前頁面高度
varwinHeight=$(window).height();
$(window).resize(function(){
varthisHeight=$(this).height();
if(winHeight-thisHeight>50){
//窗口發生改變(大),故此時鍵盤彈出
//當軟鍵盤彈出,在這裡面操作
}else{
//窗口發生改變(小),故此時鍵盤收起
//當軟鍵盤收起,在此處操作
}
});

方法二:監控鍵盤

監控的方式其實篩選下來也不過兩種:

① 時鍾setInterval不停監控

② 系統級別的監控,比如鍵盤出現時候通知window一個事件,但是很遺憾現在還沒有這個事件,但是這個事件等於

input類元素獲取焦點 == 彈出虛擬鍵盤

input類元素失去焦點 == 收起虛擬鍵盤

但是我們前面已經說過,上面的原則不一定可靠,所以該種方案也未必可靠了

基於系統監控這點,我們還可以監控resize事件或者scroll事件,但是經過我的測試,setInterval表現比較好.於是,我們簡單寫一段代碼,可靠是否滿足需求:

window.alert=function(msg){
$('body').append('<div>'+msg+'</div>')
};
functionfixedWatch(el){
if(document.activeElement.nodeName=='INPUT'){
el.css('position','static');
}else{
el.css('position','fixed');
}
}

setInterval(function(){
fixedWatch($('#headerviewheader'));
},500);

如上:移動端鍵盤展開事件即可被監聽.

『肆』 js怎麼監聽安卓返回鍵

代碼如下:

  1. <script>

  2. //=========================PhoneGap==================================

  3. //等待載入PhoneGap

  4. document.addEventListener("deviceready",onDeviceReady,false);

  5. //PhoneGap載入完畢

  6. functiononDeviceReady(){

  7. //按鈕事件

  8. document.addEventListener("backbutton",eventBackButton,false);//返回鍵

}

//返回鍵

functioneventBackButton(){

if($(".classobj").is(":visible")){

alert('再點擊一次退出!');

document.removeEventListener("backbutton",eventBackButton,false);//注銷返回鍵

document.addEventListener("backbutton",exitApp,false);//綁定退出事件

//3秒後重新注冊

varintervalID=window.setInterval(function(){

window.clearInterval(intervalID);

document.removeEventListener("backbutton",exitApp,false);//注銷返回鍵

document.addEventListener("backbutton",eventBackButton,false);//返回鍵

},3000);

}else{

//navigator.app.backHistory();

}

}

functionexitApp(){

navigator.app.exitApp();

}

</script>

『伍』 如何用js代碼 控制蘋果系統中的返回鍵

開啟方式如下; 1.在桌面找到【設置】點擊進入。 2.點擊【通用】選項。 3.進入點擊【輔助功能】。 4.點擊【AssistiveTouch】進入。 5.把【AssistiveTouch】開關打開。 6.然後就可以看到屏幕右下方有個小白點,點擊一下就出現虛擬菜單了。

『陸』 js獲取安卓手機上的回退鍵的事件....

很簡單, webView 肯定是要放到一個 activity 中。 你 重寫 activity 的onkeyup 事件屏蔽掉 回退按鈕的事件就可以了。 歡迎採納

『柒』 Android webview中的js如何監聽鍵盤事件

首先,設置webView屬性:

如此,webView中就可以捕獲javascript的alert()、confirm()事件了。

『捌』 如何監聽物理按鍵函數,例如安卓的返回鍵

假 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>

閱讀全文

與js如何監聽手機的物理返回鍵相關的資料

熱點內容
word中化學式的數字怎麼打出來 瀏覽:798
乙酸乙酯化學式怎麼算 瀏覽:1454
沈陽初中的數學是什麼版本的 瀏覽:1417
華為手機家人共享如何查看地理位置 瀏覽:1109
一氧化碳還原氧化鋁化學方程式怎麼配平 瀏覽:947
數學c什麼意思是什麼意思是什麼 瀏覽:1480
中考初中地理如何補 瀏覽:1366
360瀏覽器歷史在哪裡下載迅雷下載 瀏覽:760
數學奧數卡怎麼辦 瀏覽:1463
如何回答地理是什麼 瀏覽:1089
win7如何刪除電腦文件瀏覽歷史 瀏覽:1110
大學物理實驗干什麼用的到 瀏覽:1548
二年級上冊數學框框怎麼填 瀏覽:1769
西安瑞禧生物科技有限公司怎麼樣 瀏覽:1214
武大的分析化學怎麼樣 瀏覽:1302
ige電化學發光偏高怎麼辦 瀏覽:1391
學而思初中英語和語文怎麼樣 瀏覽:1731
下列哪個水飛薊素化學結構 瀏覽:1483
化學理學哪些專業好 瀏覽:1536
數學中的棱的意思是什麼 瀏覽:1133