使用live()的滑动事件?

时间:2012-11-04 01:37:10

标签: javascript jquery

我在页面上有动态加载的元素,但我还需要能够在这些div上滑动。

我搜索了jQuery滑动事件,找到了touchSwipe。这很好,因为它是跨浏览器,但它不允许我使用.on().live(),因此不会考虑动态元素。

这是我的意思的一个例子,http://jsfiddle.net/wUkZq/

我可以通过滑动来处理动态元素的唯一方法是将滑动事件附加到父级。问题是,我不希望父母可以刷卡。在示例中,如果您使用a链接创建一些元素,然后在.content内尝试并滑动,它将返回所有元素的文本,这不是我想要的,因为滑动不应该被允许在父母身上。

有没有更好的方法来做到这一点,或者更好的插件?理想情况下,我不想使用插件,而是使用纯JS,但是我找不到一个很好的例子来计算这个人实际上是在滑动而不是其他事件(即滚动)。

1 个答案:

答案 0 :(得分:2)

如何简单地为每个可滑动元素分配一个特定的类,然后在swipe事件处理程序中检查该类?我想这对于这种情况来说是很常见的伎俩。例如:

swipeLeft: function(event, direction, distance, duration, fingerCount) {
  var $target = $(event.target);  
  if (! $target.hasClass('sw')) {
    return false;
  }
  alert($target.text());
}

这是一个JS Fiddle来说明这个概念。