我有一组列表项绑定到“vmouseup”而不是“click”,因为事件的触发时间滞后 300 毫秒。
我的问题是当我使用“vmouseup”或“vmousedown”绑定每个列表项时,我显然无法通过一些调整来滚动列表。
我的列表元素看起来是这样的:
$(liElem).bind('vmouseup', function () {
scrollToTop();
showDetails();
});
- 如何在不触发列表元素上的 vmouseup 事件的情况下滚动列表?
- 我记得在 SOFlow 的某个地方读到 vmouseup 不一定总是触发,所以我应该使用 vmousedown 代替吗?
我想我知道#1 的答案与unbind()
/die()
有轻微的可能性stopPropagation()
和preventDefault()
更新的答案
在 iOS 4.2.1 (iPod Touch) 中,阈值方法似乎有问题。如果向上滚动(从上到下滑动),一切正常,但是当向下滚动(从下到上滑动)时,pageY 通常会给出错误值并触发事件。例如,如果将阈值设置为 30 像素并且我从手机的最底部滑动到顶部,它仍然可以触发事件。使用 jQueryMobile 1.1.0 RC1 和 jQuery 1.7.1。