在移动端实现常按事件

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>长按</title>
<meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1" />
<meta name="apple-touch-fullscreen" content="yes">
<meta name="apple-mobile-web-app-capable" content="yes" />
{{!-- <link href="css/travelstyle.css" rel="stylesheet" type="text/css" />   --!}}

</head>
<body id="body_id" >
<div style="width:100%;">
<div style="width:100%; height:100px; background-color:#CCC;" ontouchstart="gtouchstart()" ontouchmove="gtouchmove()" ontouchend="gtouchend()">长按我</div>
</div>
<script>
var timeOutEvent=0;//定时器
//开始按
function gtouchstart(){
    timeOutEvent = setTimeout("longPress()",500);//这里设置定时器,定义长按500毫秒触发长按事件,时间可以自己改,个人感觉500毫秒非常合适
    return false;
};
//手释放,如果在500毫秒内就释放,则取消长按事件,此时可以执行onclick应该执行的事件
function gtouchend(){
    clearTimeout(timeOutEvent);//清除定时器
    if(timeOutEvent!=0){
        //这里写要执行的内容(尤如onclick事件)
        alert("你这是点击,不是长按");
    }
    return false;
};
//如果手指有移动,则取消所有事件,此时说明用户只是要移动而不是长按
function gtouchmove(){
    clearTimeout(timeOutEvent);//清除定时器
    timeOutEvent = 0;
    alert(‘移动了‘) 

};   

//真正长按后应该执行的内容
function longPress(){
    timeOutEvent = 0;
    //执行长按要执行的内容,如弹出菜单
    alert("长按事件触发发");
}   

</script>
</body>
</html>
时间: 2024-10-10 13:25:23

在移动端实现常按事件的相关文章

移动端与PC端的触屏事件

由于移动端是触摸事件,所以要用到H5的属性touchstart/touchmove/touched,但是PC端只支持鼠标事件,所以此时可以这样转换 var touchEvents = { touchstart: "touchstart", touchmove: "touchmove", touchend: "touchend", /** * @desc:判断是否pc设备,若是pc,需要更改touch事件为鼠标事件,否则默认触摸事件 */ init

H5案例分享:移动端滑屏 touch事件

移动端滑屏 touch事件 移动端触屏滑动的效果的效果在电子设备上已经被应用的越来越广泛,类似于PC端的图片轮播,但是在移动设备上,要实现这种轮播的效果,就需要用到核心的touch事件.处理touch事件能跟踪到屏幕滑动的每根手指. 以下是四种touch事件 touchstart: //触摸屏幕时触发:即使已经有一个手指放在了屏幕上也会触发.touchmove: //在屏幕上滑动时连续的触发.在这个事件发生期间,调用preventDefault()可阻止滚动.touchend: //从屏幕上移开

移动端的点透事件

点透事件:是指两个元素其中一个元素具有默认的点击事件,当我们让不具有点击事件的元素隐藏起来,会触发另一个元素的点击事件,这种行为被称之为点透事件. 如下图所示:当我们给div元素添加touchstart事件让div元素隐藏起来,则a标签会发生跳转.相当于我们"点透"了div元素,从而触发了a标签的默认跳转行为,这就是所谓的点透事件. 分析这种点透事件的原因,我们需要了解移动端和PC端的事件的不同之处: 1.PC端所有的事件都能够在移动端被触发.也就是说索然移动端目前主要是touch事件

Unity NGUI实现移动端输入法取认事件响应

NGUI已经实现了事件的监听功能,看下图:On Return Key(选择Snbmit) ,可以直接注册监听事件. 实现如下: 1.搭建一个简单场景 2.新建一个脚本InputTest.cs 挂载在Input物体下,并拖拽赋值Txt_content, input using UnityEngine; //笔者通过集成InputField,在update中监听软件盘的状态捕获到回车事件 public class InputTest : MonoBehaviour {     public UILa

移动端开发用touch事件还是click事件

前端开发现在包含了跨浏览器,跨平台(不同操作系统)和跨设备(不同尺寸的设备)开发. 在移动开发的过程中,到底选取touch事件还是click事件?对了,请不要鄙视click,click在移动端开发用着也是不错的. 首先,我先说一下touch事件在开发中存在的两个问题: 1.touch事件在某些场景下存在点击穿透的问题. 2.touchstart事件时触摸屏幕就会触发,touchend事件是手指离开屏幕就会触发,而有时候,我们仅仅是只想滑动屏幕,却会触发这两个事件. 1问题的原因:移动端事件触发的

ios移动端浏览器点击事件失效的解决方案

点击事件失效的原因可能是因为,你用了事件代理了, 比如这样 $(document).on("click",".fd",function(){ }) 这段代码在安卓机上是没有问题的,但是iso的自带浏览器和微信浏览器和其他浏览器都会失效,原因是ios规定,事件代理的元素只能是button元素其他一律不生效 想要解决这个问题,也很简单 1. $(document).on("click","button",function(){ }

移动端关于拖拽事件

探究一下移动端的拖拽!因为html5出来了一个drag么!然后就兴致勃勃的去试了试,结果发现drag在pc端使用好使,但是在移动端不好用,然后在网上查了一下,有关于各个浏览器对drag的支持状况,在此附上链接一枚(想具体了解可以看看): http://caniuse.com/#search=Drag 没办法就就开始想别的办法,结果发现好多人用touch事件,所以便试了试,效果还算不错,自己写的就不上代码了,就把参考的一片文章附上供大家参考参考: -------------------------

移动端触屏滑动事件

移动端触屏滑动的效果其实就是图片轮播,在PC的页面上很好实现,绑定click和mouseover等事件来完成.但是在移动设备上,要实现这种轮播的效果,就需要用到核心的touch事件.处理touch事件能跟踪到屏幕滑动的每根手指. 以下是四种touch事件 touchstart:     //手指放到屏幕上时触发 touchmove:      //手指在屏幕上滑动式触发 touchend:    //手指离开屏幕时触发 touchcancel:     //系统取消touch事件的时候触发,这个

移动端笔记——jQuery touch事件

判断移动端还是pc端 function IsPC() { var userAgentInfo = navigator.userAgent; var Agents = new Array("Android", "iPhone", "SymbianOS", "Windows Phone", "iPad", "iPod"); var flag = true; for (var v = 0; v