问题标签 [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 投票
1 回答
1379 浏览

jquery - 当 mousedown 或 touchend 事件发生在选择器区域之外时的 jQuery 触发功能

场景:用户点击一个元素,然后拖动它。不过,拖到其他地方结束。我注意到,当这种情况发生时,如果我监听正在拖动的元素,它不会触发任何东西,除非在拖动完成时光标在同一个元素上被释放。

如何触发在元素上开始但在文档上其他任何地方结束的事件?

0 投票
0 回答
349 浏览

javascript - Jquery,ipad(触摸设备)选择多个项目

假设我们有一个表,用户可能一次选择多行,我可以在桌面浏览器上做到这一点

但触摸设备(ipad)失败,我尝试使用touchstart,我可以获得起始元素,但touchend没有给出结束元素,我想要:

当我开始拖动 id1 并移动到 id5(我走过 i2、i3、i4)时,我想发现用户选择了 i1、i2、i3、i4 和 i5。我开始拖入 i1 并在 i5 上完成(松开手指)

我看到touchstart i1,没关系,但touchend也给了i1,但我期待i5。我想了解拖动(触摸)操作在哪个元素上完成。

mouseover 或 mouseenter 也总是给出起点。我的意思是当手指在 i2 上时,控制台总是显示起始 ID。

我在 touchend 上的事件中查看了 chrome 工具(所有事件字段、属性等),但找不到有关目标 id 的任何信息(我们停止操作的元素,松开手指)

0 投票
3 回答
551 浏览

javascript - 在移动设备上,如何防止方向更改破坏 Jquery touchstart/touchend?

我在这里有一个小示例应用程序:http: //codepen.io/DouglasGlover/full/OPpMaV/

这是一种仅限移动设备的体验(尽管它在技术上也可以在桌面上运行)。这里只关心手机。

预期的行为是用户触摸他们的手机,并将手指放在手机上(屏幕上的任何位置)。当他们这样做时,计数器上升。当他们让手指离开电话时,它会停止计数器。

有一个用例,用户可能(可能不小心)旋转他们的手机,刚好足以改变网站的方向。目前,如果发生这种情况,计数器将继续无限向上计数。随后的触摸会启动第二个触摸事件,这使它更快(我可以处理这个问题,修复初始问题应该可以解决这个问题)。

所以我的问题似乎是在切换方向时,触摸事件“死亡”。所以“touchstart”最初会触发,我正在等待一个永远不会触发的“touchend”。

理想情况下,用户可以触摸手机,然后旋转它而不会产生任何后果(并且不会破坏体验)。

这是现在的原型代码......

HTML:

CSS:

JS:

0 投票
1 回答
31 浏览

jquery - iOS 上 webapp 中的按钮需要“按下”而不是“触摸”

我在 web 应用程序中有一些简单的按钮,单击它们会打开一些地图图层。它们在所有现代桌面浏览器和 Android 上按预期工作,但在 iOS 上,按钮需要真正按下,而不是仅仅触摸......

点击/触摸事件的语法如下:

...也许这种“touchstart click”语法不是最好的?我从 SO... 得到这个想法?(PS:我的同事刚刚指出,我没有将任何“e.stopPropagation”或“e.preventDefault”代码添加到事件处理程序中......我会尝试,但我仍然想听听SO社区认为!)

0 投票
1 回答
3341 浏览

javascript - 为什么在 Firefox 中没有触发 touchstart 事件?

我正在尝试使用该touchstart事件来检测 Web 应用程序中的触摸。它在 Chrome 中运行良好,但在 Windows 8.1 上的 Firefox 36.0.1(桌面版)中,根本不会触发该事件。

我做错了什么还是这是一个错误?可以在此处找到一个最小的工作示例。

0 投票
1 回答
487 浏览

javascript - 使用 touchstart 导航下拉菜单以实现 IOS 功能

当在 IOS 设备上的菜单外触摸页面时,我正在使用以下代码关闭导航子菜单。问题是当我触摸菜单中的链接时,它也会关闭。我的问题是如何防止触摸子菜单中的导航链接触发 div 关闭,但在触摸页面上的其他位置时保持该功能?

https://jsfiddle.net/4a4o0ctt/1/

0 投票
1 回答
1939 浏览

jquery - 花式框弹出窗口中的触摸事件在移动设备上不起作用

希望有人可以帮助我解决这个问题。我创建了一个fancybox包含两个链接的弹出窗口,一个将用户带到调查页面,另一个取消并关闭弹出窗口。

它在桌面上按预期工作,但现在需要在移动设备上工作。所以我创建了一个变量来处理触摸事件并更新了 on 事件处理程序。

它在桌面上仍然可以正常工作,但是当我在手机上测试时,选择链接什么也没做。有人遇到类似的问题吗?知道我该如何解决这个问题吗?非常感谢您的建议/建议。

0 投票
2 回答
2791 浏览

javascript - jQuery touchmove 未在 chrome 模拟器中注册

关于如何在手机/平板电脑上触发滚动事件(中滚动)也有类似的问题。我已经使用了下面提供的代码,但我还没有让它在 chrome 模拟器中工作。

当我使用触摸传感器而不是 touchmove 滚动时,touchstart 将记录。我错过了什么?

0 投票
0 回答
259 浏览

jquery - iOS 7点击/触摸事件导致滑动器调整大小

我一直在尝试在 iOS 7 上调试这个问题,这让我发疯。我使用 iDangerous Swiper ( http://www.idangero.us/swiper/get-started/ )。使用幻灯片中的可点击按钮前进到下一张幻灯片。在该按钮单击时还有一个 AJAX 提交。我一直在尝试使用 touchstart 事件来使移动设备上的点击更加可靠。这已经成功,但在 iphone 6 (iOS 7) 上,滑动器会在第一张幻灯片移动之前闪烁/调整大小。在我测试过的所有其他浏览器上都很好。

为了调试,我尝试使用 setTimeout 将所有触发的事件延迟几秒钟,以查看是哪个事件导致它。当我延迟事件时,不会发生闪烁/调整大小。

我对可能导致此问题的原因或如何调试它一无所知。

jquery触发器如下:

我也尝试过“光标:指针”修复,但没有运气。有人请给我一些想法!

0 投票
1 回答
958 浏览

jquery - 仅当元素具有特定类时才检测 touchstart

我正在用 JQuery 监听一个事件,如下所示:

但是我只想监听/检测touchstart触摸的元素是否具有特定的类,例如。.hotspot 如果它没有这个类我只想听点击,有没有办法做到这一点?