将触摸事件从 Javascript 转换为 jQuery

Posted

技术标签:

【中文标题】将触摸事件从 Javascript 转换为 jQuery【英文标题】:Translating touch events from Javascript to jQuery 【发布时间】:2011-10-24 16:14:08 【问题描述】:

我正在使用

window.addEventListener("touchstart", function(ev)
    console.log(ev.touches); // good
);

我怎样才能把它翻译成 jQuery?我试过了:

$(window).bind("touchstart",function(ev)
    console.log(ev.touches); // says ev.touches is undefined

有什么想法吗?

【问题讨论】:

谢谢,这个网站比较新。刚刚回去并批准了很好的答案。 不用担心。很高兴你想通了:) 一个简单的 jQuery 库:github.com/Tundra-Interactive/swipe.jquery.js 我很困惑,这是否仅适用于识别触摸的浏览器?如果您只是想知道元素何时被触摸(在识别触摸事件的浏览器中),这是否足够?任何帮助将不胜感激! 【参考方案1】:

jQuery '修复' 事件以解决浏览器的差异。当它这样做时,您始终可以使用 event.originalEvent 访问“本机”事件(请参阅 this page 上的特殊属性子标题)。

【讨论】:

【参考方案2】:
$(window).on("touchstart", function(ev) 
    var e = ev.originalEvent;
    console.log(e.touches);
);

我知道很久以前有人问过这个问题,但我认为一个具体的例子可能会有所帮助。

【讨论】:

感谢您认真对待“具体示例”这一概念是有益的。

以上是关于将触摸事件从 Javascript 转换为 jQuery的主要内容,如果未能解决你的问题,请参考以下文章

如何将子视图上的触摸事件的坐标转换为其父视图中的坐标?

嵌入在 UIScrollview 中的 UIWebview 中的 Javascript 触摸事件

使用javascript / jQuery将触摸事件应用于每次点击事件

使用 CSS3 触摸事件的悬停效果

2019-6-15-WPF-触摸到事件

iPhone - 在屏幕上绘图以响应触摸事件