2012-11-04 2 views
1

페이지에 동적으로로드되는 요소가 있지만이 div에서 스 와이프 할 수 있어야합니다.live()에서 작동하는 스 와이프 이벤트?

jQuery 스 와이프 이벤트를 검색하여 touchSwipe을 찾았습니다. 크로스 브라우저이기 때문에 좋지만, .on() 또는 .live()을 사용할 수 없으므로 동적 요소가 고려되지 않습니다.

여기 http://jsfiddle.net/wUkZq/

, 나는 부모에게 슬쩍 이벤트를 부착했다 동적 요소에 작업을 보내 주시면 얻을 수있는 유일한 방법 무슨 뜻인지의 예입니다. 문제는 부모님이 스 와이프 할 수 없기를 바랍니다. 이 예에서 a 링크가있는 몇 개의 요소를 만든 다음 .content 내에서 스 와이프하면 모든 요소의 텍스트가 반환됩니다.이 요소는 부모가 스 와이프해서는 안되기 때문에 원하는 요소가 아닙니다.

더 좋은 방법이 있나요? 아니면 더 나은 플러그인입니까? 이상적으로는 플러그인을 사용하지 않고 순수한 JS를 사용하고 싶지만 다른 이벤트 (예 : 스크롤) 대신 실제로 스 와이프하는 경우를 계산하는 좋은 예는 찾을 수 없습니다.

답변

2

단순히 각 스 와이프 가능한 요소에 특정 클래스를 할당 한 다음 swipe 이벤트 처리기에서 해당 클래스를 확인하는 방법은 무엇입니까? 그런 경우에는 아주 흔한 트릭입니다. 예 :

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

여기에는 개념을 보여주는 JS Fiddle이 있습니다.

+0

나는 원래 이와 비슷한 것을 가지고 있었지만 그것을하는 것이 가장 좋은 방법이라고 생각하지 않았습니다. – Charlie