美文网首页
移动设备上的点击处理

移动设备上的点击处理

作者: Michael_lpf | 来源:发表于2017-04-20 15:11 被阅读0次

在 iOS 上(Andriod没亲自试过,估计同样),在使用事件委托的方式绑定 click 事件会无法生效。

比如我写了一个"假按钮",一个带有文字的 div 并绑定了 click 事件👇

//  html
<div>点击我</div>
// CSS
div{ 
    width:200px; height:50px; 
    line-height:50px; text-align:center; 
    background-color: orange}
//  JQuery
$('div').click(function(){ alert('已点击'); });

在 iOS 上去测试,会发现点击到“点击我”这段文字,无法触发 click 事件,当你点击 div 的边缘区域(没有被文字覆盖的区域)事件才可以触发。

其实就是因为浏览器“发现”此处有个一文本节点,采用了事件委托的方式来执行 click 而无果。

怎么解决呢?

  • ❌ 用 <button> 标签不太奏效,因为同样要把按钮的文字写在标签内:<button>点击我</button>,问题还是存在。
  • ✅ 用 button 类型的 input 标签是可以的:
    <input type="button" value="点击我">
    因为按钮名字并不是写在一个闭合标签内的(也就是浏览器不会“发现”这里有一个文本节点)。
  • ✅ 个人认为,最佳解决方案是:在移动端,使用 touch 事件替代 click 事件,(或是使用 fastclick 替代 click 事件)。

[完]

相关文章

  • 移动设备上的点击处理

    在 iOS 上(Andriod没亲自试过,估计同样),在使用事件委托的方式绑定 click 事件会无法生效。 比如...

  • FastClick 解决移动端300毫秒延迟

    移动端点击延迟事件 1.移动设备上的浏览器默认会在用户点击屏幕大约延迟300毫秒后才会触发点击事件2.原因: 移动...

  • H5+

    参考文档请点击 Device 属性: imei: 设备的国际移动设备身份码 imsi: 设备的国际移动用户识别码 ...

  • 可信执行环境TEE介绍

    随着移动设备的发展,移动设备的功能越来越强大,移动设备会存储用户的资产,处理支付等操作。目前移动端的系统运行环境叫...

  • iOS MQTT 接入示例(MQTT 物联套件)

    前言 需求是移动端接入MQTT,点击按钮利用MQTT给门禁上的设备发送消息;注:门禁设备(Android系统集成了...

  • 移动设备滑动事件

    移动设备上用到核心 touch事件,处理 touch事件能跟踪到屏幕的滑动。 touchstart:手指放到屏幕上...

  • UnityRemote 使用手记

    Unity Remote 是用来帮助Unity在移动端上开发的工具程序. 在编辑器上直接点击Play 连接的设备上...

  • Adobe Photoshop Express v6.0.587

    Adobe Photoshop Express Pro是全球著名的 Adobe 公司开发的一款移动设备上的图片处理...

  • 移动端处理触控滑块的js框架

    序 今天主要讲解一款移动端轻量级的,主要处理移动设备触控滑块的js框架;简单点就是在屏幕上滑动的时候的交互处理。它...

  • #印象笔记#如何在手机移动设备上或剪藏网页?

    如何在手机移动设备上或剪藏网页? 苹果 iPhone, iPad: 打开 Safari 浏览器,打开网页,点击下方...

网友评论

      本文标题:移动设备上的点击处理

      本文链接:https://www.haomeiwen.com/subject/pgrlzttx.html