导航:首页 > 物理学科 > 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中化学式的数字怎么打出来 浏览:741
乙酸乙酯化学式怎么算 浏览:1407
沈阳初中的数学是什么版本的 浏览:1354
华为手机家人共享如何查看地理位置 浏览:1046
一氧化碳还原氧化铝化学方程式怎么配平 浏览:888
数学c什么意思是什么意思是什么 浏览:1412
中考初中地理如何补 浏览:1302
360浏览器历史在哪里下载迅雷下载 浏览:704
数学奥数卡怎么办 浏览:1391
如何回答地理是什么 浏览:1027
win7如何删除电脑文件浏览历史 浏览:1059
大学物理实验干什么用的到 浏览:1488
二年级上册数学框框怎么填 浏览:1702
西安瑞禧生物科技有限公司怎么样 浏览:982
武大的分析化学怎么样 浏览:1251
ige电化学发光偏高怎么办 浏览:1340
学而思初中英语和语文怎么样 浏览:1655
下列哪个水飞蓟素化学结构 浏览:1426
化学理学哪些专业好 浏览:1489
数学中的棱的意思是什么 浏览:1061