问题标签 [touchstart]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
29556 浏览

jquery - 如何在 iOS 设备上用 touchstart 替换 click

客观的

单击时关闭锚标记的父 div。在下面的代码中,我想在用户单击锚标记close_performance_tt时隐藏 div performance_tt

问题

花了几个小时后无法让它在 iOS 设备上运行。适用于其他所有设备,甚至是 BlackBerry 10 设备。

0 投票
1 回答
284 浏览

css - 试图让 jQuery Mobile 元素突出显示 onTouchStart

我有一个 jQuery 移动列表。我想让列表元素在用户触摸它们时突出显示。我尝试使用以下方法实现这一点:

这效果太好了。当用户滚动时,它不会区分滚动和触摸开始,并且元素会亮起。任何人都可以提出一种更清洁的方法来实现这一目标吗?

0 投票
1 回答
437 浏览

jquery - touchstart 在 iPhone 上触发两次

我正在使用它来隐藏/显示小屏幕触摸设备上的菜单:

它似乎在 iphone 上触发了两次,然后又快速显示和消失。这只是第一次,之后完美运行。

有任何想法吗?谢谢

0 投票
1 回答
191 浏览

javascript - 用于检查滑动的 JS 多点触控

我一直在寻找解决方案来找出在移动浏览器上左右滑动并创建 lib(下)。我的问题是:有没有一种简单的方法来检查 android 和 iOS 上的滑动?另外:我可以改用鼠标事件吗?

0 投票
0 回答
423 浏览

jquery - 使用 touchswipe 滑动时防止 touchstart

我想防止在用户滑动缩略图时发生触摸启动,在他们滑动触摸启动的那一刻也被激活,有没有办法防止这种情况,这是我的代码:

0 投票
3 回答
586 浏览

javascript - 如何判断刚刚触发的 Javascript 事件

Javascript中有什么方法可以告诉最近触发的事件是什么?我要问的原因是我正在一个网站上工作,该网站在运行 Windows 8 并且是带有触摸屏的笔记本电脑的那些新超极本上运行不正常。如果您使用标准鼠标功能(使用触摸板或实际鼠标),一切正常,但如果您使用触摸屏,事情就不行了。

这只发生在 IE 上;Chrome 有它自己的问题(我已经在代码中修复了),而 Firefox 没有给我们带来任何问题。

基本上,我们拥有的功能包括一个“hoverIntent”块,如果您在 IE 上使用触摸屏,它会同时注册“over”和“out”功能,这是一个问题。

但是,如果有办法让我判断发生的最后一件事是用户触摸屏幕还是用鼠标单击,我会有一个解决方案。但我不知道是否有办法做到这一点。

我唯一能找到的是在元素上添加“.data('events')”,但返回的是“点击”,无论是实际的鼠标点击还是屏幕上的点击。

有没有办法做到这一点???

0 投票
1 回答
335 浏览

jquery - jQuery 单页站点下拉菜单链接在 iOS iPad/iPhone 上失败

我有一个运行 jquery(不是 jquery mobile)的单页滚动站点我有一个触发下拉菜单(无序列表)显示的锚链接。单击下拉菜单中的列表项会以动画方式显示关联的幻灯片,并隐藏下拉菜单。

适用于除 iOS 浏览器之外的所有设备。我的问题是该链接仅在第一次单击时才有效。

我已广泛阅读有关区分 iOS 上的鼠标单击和悬停事件的内容。没有一个解决方案对我有用。

我已经尝试了一切:

  • 使 #btn_menu 元素成为锚点和 div
  • 在链接、li 标签、包装的 div 标签上添加 cursor:pointer 样式
  • 在所有列表菜单项上包装锚标记
  • 触发触摸事件,并在第一次点击后尝试触发 touchend、菜单点击事件等
  • 触摸库,例如 Hammer.js

简单的代码,例如。

HTML 菜单:

** 我所知道的正在发生 **

只有第一个 #btn_menu 和随后的 .nav_menu li 单击才能完美运行。但是,如果我随后轻轻触摸/移动屏幕,则进行中的 #btn_menu 单击会起作用。#btn_menu 上的事件监听器似乎被清除了?

悬停事件似乎在第一次点击后继续工作,并干扰所有正在进行的点击。我知道这一点,因为当我单击“菜单”这个词时,它会带有下划线 - 我似乎无法清除监听 #btn_menu 悬停的事件

在我的智慧结束。有没有人对我如何在单页网站上为这种下拉菜单获取在 iOS 上运行的点击事件有任何建议?

我在我的代码中测试了像 slicknav.js 这样的解决方案,但这些也表现出同样的问题。

0 投票
3 回答
5996 浏览

jquery - 在移动设备上滚动页面时防止触摸启动

当用户向下滚动其移动设备的页面时,我想禁用 touchstart 事件。该页面有各种元素,当您单击时会切换一个类,但我希望当用户向下滑动以向下滚动页面时禁用 touchstart 事件。

查询

有人知道怎么做吗?谢谢!

0 投票
1 回答
2576 浏览

ios - 对抗 iOS 上的 touchstart 事件延迟

touchstart将事件绑定到 KineticJS 圆形对象时,我在 iOS 版 Safari 中遇到了约 500 毫秒的延迟。我尝试event.preventDefault()on函数内调用,认为这会覆盖默认的 iOS 行为,但没有任何区别。我不确定这是否与 KineticJS 有关,这就是为什么我将其从标题中删除(但将其作为标签包含在内)。注意:使用 iOS 模拟器没有延迟——延迟只发生在实际设备(iPhone 4)上。有任何想法吗?

0 投票
1 回答
2994 浏览

javascript - preventDefault on touchstart 不阻止滚动

这个问题也有类似的问题,但解决方案要么涉及另一个库,要么使用点击事件——我想知道没有库是否可行。

我在图像上使用 touchstart 事件来检测 1.5 秒的点击,然后重新加载所述图像。但是,在大多数移动设备上,当您按住图像一段时间时,它会显示一个弹出窗口,询问您是否要保存/复制图像,我想阻止这种情况。

preventDefault()成功了,但也忽略了图像上的滚动(如预期的那样)。

还允许在图像上滚动的最佳方法是什么?

示例代码:

iOS 有一个 CSS 属性 ( -webkit-touch-callout:none) 可以正常工作,但不适用于非 iOS 设备。

任何帮助表示赞赏。