gpt4 book ai didi

jQuery live() 删除 iPhone 触摸事件属性?

转载 作者:行者123 更新时间:2023-12-03 18:41:27 25 4
gpt4 key购买 nike

我正在我的 PhoneGap 中的链接上绑定(bind)实时事件应用程序。该事件确实成功触发(通过 alert()ing 确认),但似乎任何触摸数据都没有像应有的那样附加到事件对象。所有触摸事件都会发生这种情况 - touchstarttouchmovetouchend

$('a').live('touchend', function(event) {
event.preventDefault();
alert(event.touches.length); // event.touches should be populated!
});

有什么想法吗?我对 jQuery.live() 满意吗?

最佳答案

其实,你可以使用.live方法。由于 jQuery 在内部处理事件的方式,您没有 event.touches 属性。为了“修复”事件,jQuery 克隆了事件。这样做时,出于性能原因,它仅复制有限数量的属性。但是,您仍然可以通过 event.originalEvent 属性访问原始事件对象。

因此您的示例代码需要如下所示:

$('a').live('touchend', function(event) {
event.preventDefault();
console.log(event.originalEvent.touches.length);
});

以下是复制的属性:http://github.com/jquery/jquery/blob/master/src/event.js#L411

关于jQuery live() 删除 iPhone 触摸事件属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/671498/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com