0

所以我最近发现原生拖放实际上是由 IE5 引入的(我之前认为它是最近添加的,并且只在 IE9 中......简直错得离谱!)

无论如何,我已经在一组元素上实现了拖放,但我很快发现移动设备似乎不支持拖放事件。

我对 Touch 事件知之甚少,而且我能找到的关于它们的信息非常混乱。

是否有可能我只是在拖放方面做错了,或者有人可以指出我对触摸事件的可理解介绍?

4

2 回答 2

3

我了解您不喜欢使用 jQuery。下面的资源可能会帮助您在不使用 jQuery 的情况下处理 Touch 事件。

1. W3C

http://www.w3.org/TR/touch-events/#dfn-touch-point

W3C 于 2011 年 12 月 15 日发布了候选推荐“触摸事件版本 1”。在此推荐中提到了 4 种类型的触摸事件。

touchstart event
touchend event
touchmove event
touchcancel event

2. Mozilla 开发者网络

https://developer.mozilla.org/en-US/docs/DOM/Touch_events

在 Mozilla 开发者网络上,您可以看到“触摸事件”的定义和处理触摸事件的示例代码。

function startup() {
  var el = document.getElementsByTagName("canvas")[0];
  el.addEventListener("touchstart", handleStart, false);
  el.addEventListener("touchend", handleEnd, false);
  el.addEventListener("touchcancel", handleCancel, false);
  el.addEventListener("touchleave", handleLeave, false);
  el.addEventListener("touchmove", handleMove, false);
}

3. iOS 开发者库

http://developer.apple.com/library/ios/#DOCUMENTATION/AppleApplications/Reference/SafariWebContent/HandlingEvents/HandlingEvents.html#//apple_ref/doc/uid/TP40006511-SW5

Apple 的文档可能会帮助您了解 iOS 上的“支持的事件”。

4. 关于 HTML5 ROCKS 教程

http://www.html5rocks.com/en/mobile/touch/

文章“MULTI-TOUCH WEB DEVELOPMENT”展示了一个没有 jQuery 的有用示例代码。

于 2012-12-12T06:42:06.403 回答
0

jQuery 可能是一个很好的解决方案How to use jQuery Mobile only for its touch event support (no UI enhancements)? 最好使用 js UI 库而不是基本的事件系统来管理触摸事件。

于 2012-12-12T04:57:42.177 回答