所以我最近发现原生拖放实际上是由 IE5 引入的(我之前认为它是最近添加的,并且只在 IE9 中......简直错得离谱!)
无论如何,我已经在一组元素上实现了拖放,但我很快发现移动设备似乎不支持拖放事件。
我对 Touch 事件知之甚少,而且我能找到的关于它们的信息非常混乱。
是否有可能我只是在拖放方面做错了,或者有人可以指出我对触摸事件的可理解介绍?
所以我最近发现原生拖放实际上是由 IE5 引入的(我之前认为它是最近添加的,并且只在 IE9 中......简直错得离谱!)
无论如何,我已经在一组元素上实现了拖放,但我很快发现移动设备似乎不支持拖放事件。
我对 Touch 事件知之甚少,而且我能找到的关于它们的信息非常混乱。
是否有可能我只是在拖放方面做错了,或者有人可以指出我对触摸事件的可理解介绍?
我了解您不喜欢使用 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 开发者库
Apple 的文档可能会帮助您了解 iOS 上的“支持的事件”。
4. 关于 HTML5 ROCKS 教程
http://www.html5rocks.com/en/mobile/touch/
文章“MULTI-TOUCH WEB DEVELOPMENT”展示了一个没有 jQuery 的有用示例代码。
jQuery 可能是一个很好的解决方案How to use jQuery Mobile only for its touch event support (no UI enhancements)? 最好使用 js UI 库而不是基本的事件系统来管理触摸事件。