touchend事件属性
touchend event properties
如果我用从移动设备捕获所有触摸端事件
$(document.body).bind('touchend', function (e) {
var touch = e.touches[0]; // doesnt work
...
我需要从e参数中获取touch.screenX、touch.screeenY、touch.clientX和touch.clientX。我看到的所有例子都表明e.touches将是一个集合,您可以使用e.touches[0]
了解触摸细节。在我的ipad测试中,e.touches
总是未定义的。我没有使用任何jquery插件。
还尝试了e.targetTouches,它也是未定义的。
有人能帮忙吗?
实际上,释放的触摸会在changedTouches数组中找到,即:
e.changedTouches[0].pageX // get the end x page coordinate for a released touch
我认为这比通过originalEvent属性稍微可靠一些。
您可以在此处阅读有关changedTouches的更多信息:http://www.w3.org/TR/touch-events/#changedtouches-触摸事件的
touches属性是一个TouchList对象。您可以在此处看到TouchList类引用。
如果您在#log-div:上使用此示例代码监视其长度属性
$('#element').bind('touchstart', function(event)
{
$('#log').append(event.originalEvent.touches.length+'<br/>');
});
$('#element').bind('touchmove', function(event)
{
$('#log').append(event.originalEvent.touches.length+'<br/>');
});
$('#element').bind('touchend', function(event)
{
$('#log').append(event.originalEvent.touches.length+'<br/>');
});
执行touchstart和touchmove时将获得1,执行touchend时将获得0。这就是为什么您从e.touches[0]
中获得undefined。
相关文章:
- 如何使用jquery迭代具有相同属性的html元素并查找onclick事件
- JavaScript-动态SVG-onload属性-未触发事件
- 手柄'img'单击事件并插入'alt'使用jQuery将属性转换为文本框
- JQuery:使用clone()生成的元素不采用原始的事件属性
- JS事件未更改输入禁用属性
- 从其他元素上的单击事件访问image src属性
- 使用自定义数据属性或将数据绑定到处理程序来处理事件
- 如何从jQuery的事件对象中检索属性
- 更改el属性时未激发主干视图事件
- SVG-全局属性和事件的列表
- jQuery:使用实时事件添加tabindex属性
- 选中javascript中的属性集时,复选框更改事件未触发
- 我想从使用onkeypress事件的文本区域获取一个属性
- 取消 iframe 中具有 target=“_parent” 属性的链接事件
- datalist获取选定的值和自定义属性(无事件)
- Google事件侦听器:未捕获类型错误:无法读取属性'addEventListener'为null
- 将属性添加到窗元素时是否引发事件
- 更改视图属性 事件聚合器 Aurelia
- 在'onmouseover'中修改HTML's CSS属性事件
- jQuery中的自定义属性事件