首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么我的“ontouchstart”事件没有在 iPhone 上触发?

这个问题是关于在iPhone上,为什么"ontouchstart"事件没有触发的问题。下面是一个完善且全面的答案:

"ontouchstart"事件是一个JavaScript事件,用于处理触摸屏幕的操作。在iPhone上,"ontouchstart"事件可能会出现不触发的情况。这可能是由于以下原因:

  1. 事件冒泡问题:在iOS上,事件冒泡可能会导致"ontouchstart"事件不被触发。为了解决这个问题,可以使用"addEventListener"方法来监听事件,并设置"useCapture"参数为"false"。
  2. 事件委托问题:在iOS上,事件委托可能会导致"ontouchstart"事件不被触发。为了解决这个问题,可以将事件监听器绑定到具体的元素上,而不是通过事件委托的方式。
  3. 兼容性问题:在某些情况下,可能需要使用浏览器前缀来解决兼容性问题。例如,可以使用"-webkit-touch-start"来代替"ontouchstart"。
  4. 第三方库问题:如果使用了第三方库,可能会导致"ontouchstart"事件不被触发。可以尝试使用其他第三方库,或者与库的开发者联系以获得支持。

推荐的腾讯云相关产品:

  1. 腾讯云移动直播:提供移动端直播服务,支持实时音视频处理、转码、推流等功能,可以用于实现iPhone上的"ontouchstart"事件触发。
  2. 腾讯云点播:提供点播服务,支持音视频处理、转码、存储等功能,可以用于实现iPhone上的"ontouchstart"事件触发。
  3. 腾讯云对象存储:提供对象存储服务,支持存储、管理、分享等功能,可以用于实现iPhone上的"ontouchstart"事件触发。

推荐的产品介绍链接地址:

  1. 腾讯云移动直播:https://cloud.tencent.com/product/lvb
  2. 腾讯云点播:https://cloud.tencent.com/product/vod
  3. 腾讯云对象存储:https://cloud.tencent.com/product/cos
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

没有DOM操作日子里,是怎么熬过来

前言 动笔写这篇文章时候,刚刚从项目中删除了最后一行JQuery代码。至于我为何要这么做,请听闰土娓娓道来。前几年还在想,假如有一天,前端世界里不能再直接操作dom了,该怎么办?...那么接下来,正文从这开始~ 熟悉闰土朋友都知道,是从JQ时代过来前端,刚接触react和vue这类MVVM框架时候,完全可以用一脸懵逼来形容,最为贴切。...在想,如果能从一开始学时候,把之前开发思路忘掉,就当自己从来没学过编程,以一种空杯心态从零开始学的话,应该会比较快。之前没有考虑到思路转换这一步,走了弯路。...写完了这个demo后,感觉到了Vue的确有它魅力所在。它MVVM让业务逻辑变得更加清晰和简单。...其实两者并没有什么功能上交集,如果你非要问可不可以用vue来实现jQuery所能实现功能的话,只想说,能,并且更加简洁。

2.1K120

h5页面不同iOS设备问题总结

在做文章评论功能时,会遇到很多兼容性问题,不同机型表现也很不一致,总结了以下这些问题。 1. 日期问题 对于yyyy-mm-dd hh:mm:ss 这种格式ios系统不识别。...发布按钮,输入完文字,点击“发布”,触发click事件时候,会导致页面先触发blur事件,键盘回落,然后一切就结束了。。。。...按钮点击没有起任何作用。 解决方案: 把click事件更换成ontouchstart 可以解决这个问题。 ontouchstart 事件优于click事件触发。...4. iphone fix 失效,导致一些机器textarea光标偏移 解决方案: 所有兄弟元素变成absolute, 父元素overflow:auto。...键盘遮挡输入框 输入框如果使用了fixed固定在底部,键盘顶起时候,iphonefixed会失效,导致页面滚动输入框会随着页面滚动,并且部分机型,输入框偶尔会被键盘遮挡,这种偶现问题,很不友好

1.7K20

Android触摸事件和mousedown、mouseup、click事件之间关系

一、移动端 触摸事件 ontouchstart、ontouchmove、ontouchend、ontouchcancel 1、Touch事件简介 pcweb页面鼠 标会产生onmousedown、onmouseup...、onmouseout、onmouseover、onmousemove事件,但是移动终端如iphone、ipod Touch、ipadweb页面触屏时会产生ontouchstart、ontouchmove...,如果没有改变,会按照mousedown,mouseup,click顺序触发事件。...这个事件不冒泡,而且光标移动到后代元素不会触发。DOM2级事件没有定义这个事件,但 DOM3级事件将它纳入了规范。IE、Firefox 9+和 Opera支持这个事件。...mouseleave:在位于元素上方鼠标光标移动到元素范围之外时触发。这个事件不冒泡,而且光标移动到后代元素不会触发。DOM2级事件没有定义这个事件,但 DOM3级事件将它 纳入了规范。

2.6K30

移动web开发中,好用小方法

1.检查是否触屏设备 //此方法chrome模拟手机模式中似乎无效,但是iphone中是有效安卓中待测试 function isTouchDevice() { return ('ontouchstart...侦听用户点击一次返回按钮,做到不刷新页面,而是回调函数 //用法 onBackBtnClick(function () { //点击返回按钮后要做些什么 }); /** * 侦听浏览器返回按钮点击事件...* ps1.每调用一次本函数,本浏览器窗口会重定向到一个新页面,但是页面不会刷新,所以在用户看来除了地址变了,其它什么都没变, * 而在浏览器看来是跳到了新页面,只是没有加载新页面的元素 * @param...mark = Math.random(), thisUrl = location.href;//保存当前链接 //添加一个新页面到浏览器历史(只有做这一步,点击返回按钮才不会返回一页...,而是留在本页并触发事件) history.pushState({}, "", "#newWin&mark="+mark); window.addEventListener('popstate

94120

移动开发实用

(区分webkit 和 winphone) 当用户手指放在移动设备屏幕滑动会触发touch事件 以下支持webkit 描述 touchstart 当手指触碰屏幕时候发生。...不管当前有多少只手指 touchmove 当手指在屏幕滑动时连续触发。...解决方案: fastclick可以解决在手机上点击事件300ms延迟 zeptotouch模块,tap事件也是为了解决click延迟问题 触摸事件响应顺序 1、ontouchstart...2、ontouchmove 3、ontouchend 4、onclick 解决300ms延迟问题,也可以通过绑定ontouchstart事件,加快对事件响应。...important;} 最好解决方案: 整个页面用rem或者百分比布局 消除transition闪屏 网络都是这么写,但我并没有测试出来 .css{ /*设置内嵌元素 3D 空间如何呈现:

6.4K30

为什么建议复杂但是性能关键所有查询都加上 force index

对于 MySQL 慢 SQL 分析 之前文章,提到过 SQL 调优一般通过下面三个工具: EXPLAIN:这个是比较浅显分析,并不会真正执行 SQL,分析出来可能不够准确详细。...但是不能直观看出来为啥会走错索引,需要通过 OPTIMIZER TRACE 进行进一步定位。但是进一步定位之前,想先说一下 MySQL InnoDB 查询优化器数据配置。...这也引出了一个新可能大家也会遇到问题,原有索引基础,加了一个复合索引(举个例子就是原来只有 idx_user_id,后来加了 idx_user_status_pay),那么原来只按照 user_id...所以最好一开始就能估计出大表量级,但是这个很难。 结论和建议 综上所述,建议线上对于数据量比较大表,最好能提前通过分库分表控制每个表数据量,但是业务增长与产品需求都是不断迭代并且变复杂。...这种情况下需要我们,适当调高 STATS_SAMPLE_PAGES 前提下,对于一些用户触发关键查询 SQL,使用 force index 引导它走正确索引,这样就不会出现本文中说因为 MySQL

1.3K20

你无法检测到触摸屏

var hasTouch = 'ontouchstart' in window; 好吧,或许是这样。但问题是,从来没有人说过一个非触屏设备不能实现触摸接口,或者至少 DOM 里拥有事件句柄。...感谢 @jacobrossi指正。 不管是 Safari 还是 Opera 都还没有在他们桌面浏览器实现触摸接口,所以他们触摸设备没有结果。...,这个事件会被触发。...强烈建议一起实施两种交互方法,在这种情况下,你不需要专门检测触摸屏。 Patrick Lauke 这篇文章更加详细地提出了为什么(以及怎么做)你应该一起实现鼠标和触摸事件。...关于事件和交互,假设任何人可能有触摸屏。同等实现键盘,鼠标和触摸交互,确保没有阻止彼此。 或者,就像我关于媒体查询文章里建议一样,你可以只询问浏览器。

1.9K20

第123天:移动web开发中常见问题

当用户手指放在移动设备屏幕滑动会触发touch事件: 以下支持webkit: touchstart——当手指触碰屏幕时候发生。不管当前有多少只手指。...touchend——当手指离开屏幕时触发。 touchcancel——系统停止跟踪触摸时候会触发。例如在触摸过程中突然页面alert()一个提示框,此时会触发事件,这个事件比较少用。...移动设备web网页是有300ms延迟,往往会造成按钮点击延迟甚至是点击失效。 解决方案: fastclick可以解决在手机上点击事件300ms延迟。...zeptotouch模块,tap事件也是为了解决click延迟问题。...触摸事件响应顺序: ontouchstart ontouchmove ontouchend onclick 解决300ms延迟问题,也可以通过绑定ontouchstart事件,加快对事件响应。

1.5K20

通过jquery库扩展移动端‘长按触发事件(模拟浏览器‘长按识别二维码’功能)

一篇讲了如何通过qrcode.js解析二维码(图片),那么现在我们要实现功能就是最开始要求'长按识别二维码'这个功能!...解析部分难题我们已经解决,那么现在需要解决就是模拟‘长按触发事件’这个功能,该功能通过一些参考资料,采用是给jquery扩展一个触发事件。...2,阻止浏览默认事件触发 document.getElementById('showImg').ontouchstart = function (e) { e.preventDefault(); };...端浏览器谷歌测试没有问题!...解决办法:将该段组织浏览器默认事件代码直接放到该元素后边,当然页面如果内容很多,一般不会出现该情况! (2),苹果手机浏览器默认事件没有阻止。

1.3K10

移动端web开发笔记

(区分webkit 和 winphone) 当用户手指放在移动设备屏幕滑动会触发touch事件 以下支持webkit 以下支持winphone 8 touchstart——当手指触碰屏幕时候发生。...不管当前有多少只手指 touchmove——当手指在屏幕滑动时连续触发。...例如在触摸过程中突然页面alert()一个提示框,此时会触发事件,这个事件比较少用 4、移动端click屏幕产生200-300 ms延迟响应 移动设备web网页是有300ms延迟,玩玩会造成按钮点击延迟甚至是点击失效...解决方案: fastclick可以解决在手机上点击事件300ms延迟 zeptotouch模块,tap事件也是为了解决click延迟问题 触摸事件响应顺序 1、ontouchstart 2、...ontouchmove 3、ontouchend 4、onclick 解决300ms延迟问题,也可以通过绑定ontouchstart事件,加快对事件响应 5、什么是Retina 显示屏,带来了什么问题

3.5K20

HTML5做个画图板

首先要说明是这里不是用鼠标画画,而是触摸设备用手指,比如ipad。 做画图板,自然使用html5canvas来实现了。canvas中我们可以画圆,画矩形,画自定义线条等等。...这次主要使用画圆跟画线条来实现。html中支持对触摸事件响应。...IPAD效果: 思路:当手指触摸到屏幕时候onTouchStart 事件中在手指触摸位置添加一个圆;当手指开始滑动时候onTouchMove中不断从上一个触摸点到下一个点画线条。...这个很关键,不然在线条角度变化大地方会出现断带。 event.preventDefault();取消事件默认动作。滑动事件中一定要调这个方法。...不然滑动时就会触发浏览器默认滑动事件,就会发生页面下拉效果,你就画不了画喽。 后续: 后面我会结合phonegap,把这个html5网页封装成app搬到android,ios,wp上去。

74220

收藏 | 移动端H5开发常用技巧总结

高清屏下,移动端 1px 会很粗。 那么为什么会产生这个问题呢?...解决方案: fastclick可以解决在手机上点击事件300ms延迟 zeptotouch模块,tap事件也是为了解决click延迟问题 触摸事件响应顺序 ontouchstart ontouchmove...手指按住屏幕拉,底部多出一块白色区域。 iOS 中,手指按住屏幕上下拖动,会触发 touchmove 事件。...这个事件触发对象是整个 webview 容器,容器自然会被拖动,剩下部分会成空白。...keyup、keydown、等支持不是很好, 用 input 监听键盘 keyup 事件安卓手机浏览器中没有问题,但是 ios 手机浏览器中用输入法输入之后,并未立刻相应 keyup 事件 IOS12

4.2K20

05移动端事件

一、移动端三大事件          1、手指按下     ontouchstart      2、手指触摸     ontouchmove           3、手指抬起     ontouchend...//注意:移动开发时,浏览器模拟器时好时坏,一般不用onX方式绑定事件函数,要用事件绑定方式(即第二种) div.ontouchstart = function(){}; div.addEventListener...('touchstart', function(){}); 二、PC端事件移动端(出现问题)      1、PC端事件移动端略慢,大概300ms左右      2、阻止PC事件 document.addEventListener...事件对象:用户浏览器下触发某个行为,事件对象会记录用户操作时相关细节(如位置信息等))      1、touches:当前位于 屏幕(包括dom元素之外) 所有手指列表      2、targetTouches...:位于当前 DOM 元素(当前dom元素之外无法获取)手指列表      3、changedTouches:涉及当前事件手指一个列表      例子:移动端无缝轮播切换

1.3K50

移动端APP列表点透事件处理方法

【具体事件具体分析,可能遇到问题并不适合你,这里只是贴出来共享】 先看下面两张图片: ? ?...点击列表页按钮会切换到下一个页面,但是在下一个页面上每一个条目都是可以点击,这时就会触发了下一个页面的弹窗,事实我们并不想直接显示这个弹窗,而是要等待用户点击。...当时移动端点击事件都会有300ms延迟,因此切换了页面之后,浏览器会再次判断点击行为,此时如果下一个页面都有可以触发点击元素,这时候就触发了下一个页面的点击行为。...于是你又想,加上一个onTouchStart事件,然后阻止掉默认事件,尼玛发现滑都滑不动了。...因此针对常用几种解决点透事件方法,想了几种解决方案: 方案一:自己模拟Tap事件 大致代码如下: var list = document.querySelector('#list'); var

1.2K50

uikiller使用手册(一)

CocosCreator中UI编程基于组件模式,根据自己项目经验,将组件分为两类:法宝型与结界型。 法宝型组件 法宝型组件:以装饰宿主节点为己任,从不控制其它节点。...二、节点访问 将Thor子类组件脚本挂接到Canvas节点,可实现当前编辑整个UI树管理。 ? Thor子类脚本中,可直访问整个UI树中以下划线“_”开头命名节点。..._button.name); }, }); 三、组件访问 node节点访问基础,使用“$” + “组件名”访问节点挂载组件对象。...label,事件函数为:onLabelTouchEnd 为什么定义这样命名规则呢?...长按事件监听 长按事件是uikill扩展触摸事件类型,可以给节点设置touchLongTime属性控制长按触发时间,默认是1秒,注意以毫秒为单位。

57540

webview长按事件js监听

做app开发时,用到了webview,需要监听webview长按事件,使用原生js处理监听如下: var timeOutEvent = 0; //定时器 //开始按 function...gtouchstart() { timeOutEvent = setTimeout("longPress()", 500); //这里设置定时器,定义长按500毫秒触发长按事件,时间可以自己改...() { timeOutEvent = 0; //执行长按要执行内容,如弹出菜单 //alert("长按事件触发"); do_Page.fire...("showTool",{"index":index,"url":images[index].source}); } 这里设置500ms点击为长按处理,主要用到了3个事件ontouchstart...、ontouchmove、ontouchend,主要思路: ontouchstart事件中启动一个定时器,定时器间隔时间为500ms,即500ms后自动执行longPress逻辑,并清除定时器事件,ontouchend

10.1K00
领券