手机端touch事件 jquery模拟

ontouchstart实现手机触屏中的hover效果

ontouchstart实现手机触屏中的hover效果

最近一直都在做手机网站的项目,会经常遇到手机屏幕触摸无交互效果,今天在一篇文章中看到模拟网页端hover效果的例子拿出来和大家分享下,已经使用效果还不错,大家可以根据下面的案例学下:

一、css样式:

<style type="text/css">
.inner { width: 100%; height: 100px; position: relative; }
.inner a { background: #000; display: block; color: #fff }
.inner a.hover { background: red; -webkit-tap-highlight-color: rgba(255,0,0,0);/*取消默认手机点击灰色框*/ }
</style>

二、js代码

<script type="text/javascript" src="/js/jquery-1.7.1.min.js"></script>//引用jquery框架

<script type="text/javascript">
 //请选引用jquery
 $(function () {
     $(".inner a").attr(‘ontouchstart‘, ‘hover(this)‘);//hover效果
     $(".inner a").attr(‘ontouchend‘, ‘mouseout(this)‘);//秒除hover
 })
 function mouseout(obj) {
  var className = "hover";
  var _ecname = obj.className;
  if (_ecname.length == 0) return;
  if (_ecname == className) {
   obj.className = "";return;
  }
  if (_ecname.match(new RegExp("(^|\\s)" + className + "(\\s|$)")))
   obj.className = _ecname.replace((new RegExp("(^|\\s)" + className + "(\\s|$)")), " ");
 }
 function hover(obj) {
  if (!obj) return;
  var className = "hover"
  var _ecname = obj.className;
  if (_ecname.length == 0) {
   obj.className = className;return;
  }
  if (_ecname == className || _ecname.match(new RegExp("(^|\\s)" + className + "(\\s|$)")))
   return;
  obj.className = _ecname + " " + className;
 }
</script>

三、页面标签代码

<div class="inner">

<a href="#">ontouchstart实现手机触屏中的hover效果,请在首页页面测试查看效果</a>

</div>

时间: 2024-08-04 13:24:16

手机端touch事件 jquery模拟的相关文章

手机端touch事件实现元素拖拽效果 2

经上次的手机端拖拽事件,再次经过完善修改,加入了元素不能拖出屏幕范围功能,并做了一个小的函数接口 ps:经落雨大神指点. 代码如下: var touchEvent = (function(){ var oDiv = document.getElementsByTagName('div')[0], //获取可拖动元素 oIpt = document.getElementsByTagName('input')[0], //记录拖动元素位置 oIpt1 = document.getElementsBy

手机端TOUCH

client / clientY:// 触摸点相对于浏览器窗口viewport的位置 pageX / pageY:// 触摸点相对于页面的位置 screenX /screenY:// 触摸点相对于屏幕的位置 identifier: // touch对象的unique ID event.preventDefault();// 阻止浏览器默认事件,重要 touchstart:  // 手指放到屏幕上的时候触发 touchmove:  // 手指在屏幕上移动的时候触发 touchend:  // 手指

html 手机端click 事件延迟问题(fastclick.js使用方法)

下载地址: fastclick.js 为什么存在延迟? 从点击屏幕上的元素到触发元素的 click 事件,移动浏览器会有大约 300 毫秒的等待时间.为什么这么设计呢? 因为它想看看你是不是要进行双击(double tap)操作. 1.引入fastclick.js 文件 1 <script type='application/javascript' src='fastclick.js'></script> 2.调用方法 普通调用: 1 window.onload = functio

html 手机端click 事件去掉黑色阴影效果

添加css样式 html{-webkit-text-size-adjust: 100%;-webkit-tap-highlight-color: rgba(0, 0, 0, 0);} 1.  -webkit-tap-highlight-color: 这个属性只用于iOS (iPhone和iPad). 当你点击一个链接或者通过Javascript定义的可点击元素的时候,它就会出现一个半透明的灰色背景.要重设这个表现,你可以设置-webkit-tap-highlight-color为任何颜色. 2.

移动端touch事件滚动

本来想用在北京欢乐谷手机上用touch事件来模拟局部左右内容滚动里,但在touchmove上下滚动时由于禁止了默认事件而body滚动条不能滚动,虽然可以根据touchmove的坐标来判断方向,但体验效果不理想. 后来在查询相关资料后原来可以直接在css中使用overflow:auto;出来的滚动条用CSS3的-wekit-scrollbar{display:none}来隐藏; *拓展*::-webkit-scrollbar 滚动条整体部分*::-webkit-scrollbar-thumb 滚动

jQuery,zepto手机端用on将子元素事件委托给body或document无效

jQuery,zepto手机端用on将子元素事件委托给body或document无效 在移动端,绑定在普通的div元素上是可以的,但是绑定在body上无效,document也是无效. <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <meta name="viewport" content="width=d

自己动手丰衣足食,h5手机端jquery弹窗插件(事件冒泡、单例模式、遮盖部分禁止默认滚动)

感谢浏览,欢迎交流=.= 公司开发微信网页多处需要使用弹窗,使用jquery-ui的定制化下载仍需要150多kb,想来有些奢侈(最终下来只有11kb,压缩后2kb,啊,我的神), 手机端弹窗方式与pc端有些不同,而且手机上有一个弹窗出来滚动跟父页面滚动相互影响的问题, 于是决定写一个插件,专门对付手机网页的弹窗. 弹窗的mask和dialog两部分都做成了position=fixed,比较喜欢这种效果,并且屏蔽了被遮住部分的滚动. 几处认为需要留意的知识点或困难点: 1.事件冒泡: e.prev

用jQuery.touchSwipe插件实现手机端场景滑动切换效果

使用jQuery的touchSwipe插件监听触摸滑动事件,结合css3实现手机端场景滑动切换效果.最好在手机端测试代码,也可以在PC端用鼠标点击模拟滑动. 1.html代码: <div class="container"> <div class="page page0 page_current"> <h1>你好,我是0号屏幕,第一屏,鼠标单击向下/向上拖动</h1> </div> <div clas

手机端登录框变化时要去改变密码框内容事件

好久没有写博客记录了,说忙也都是借口啊.还是要多记录. 最近在做手机端的东西,登录页遇到一个问题,就是我想换个账号登录时,账号一旦有变动就该把密码清空.在pc上可以用keyup事件.然而在手机端上keyup事件存在问题,手机软键盘的删除按钮(就是那个小叉叉按钮)点击的keyup事件有些手机是捕获不到的,具体哪些机型忘记了.最后百度了一下使用"propertychange"事件.就是input框内容改变事件,内容一旦改变便去清空密码框,就算是复制黏贴的也可以捕获得到. 但是这样会有个问题