核心提示:通常情况下,我们会先把自己写的移动端的代码现在浏览器的模拟器中运行,然后再真机测试。但是有的事件在浏览器端不容易被实现,比如移动端的touchcancel事件。touchcancel事件简单的说是在移...
通常情况下,我们会先把自己写的移动端的代码现在浏览器的模拟器中运行,然后再真机测试。但是有的事件在浏览器端不容易被实现,比如移动端的touchcancel事件。
touchcancel事件简单的说是在移动端发生了触摸中断,一般情况下就是优先级比当前活动更高的事件时,才会触发的。比如正在看新闻,手指滑动屏幕的时候,突然来电话,直接中断了触摸事件,跳转到了通话,页面此时就触发了touchcancel事件。这个事件不容易在浏览器的模拟器中模拟,之前我在用电脑的任务栏切换的时候,受到启发,可以试试在浏览器模拟器触摸的同时,按下键盘上的Alt+Tab键,果然触发了touchcancel事件,有兴趣的小伙伴可以试一下。
实例代码和效果图如下:
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport"
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<title>在浏览器模拟器中激发touchcancel事件</title>
<style>
p {
width: 200px;
height: 200px;
background-color: #f00;
}
</style>
</head>
<body>
<p id="box"></p>
<script>
var box = document.getElementById('box');
box.ontouchmove = function () {
console.log('ontouchmove');
};
box.ontouchcancel = function () {
console.log('ontouchcancel');
};
</script>
</body>
</html>

通过Alt+Tab触发touchcancel事件


