2013-06-24 114 views
3

這是一個js小提琴顯示問題。添加滑動事件動態加載jQuery的內容

http://jsfiddle.net/4CLqY/4/

揮擊正常工作紅色框,但無法在其上按新的按鈕後,創建了新的藍盒子。 (跨紅框刷卡用鼠標改變)

很抱歉,如果這樣的欺騙,但我還沒有找到任何解決方案的在線解決了我的具體問題。

的代碼是從touchSwipe網站

的JavaScript

$(function() {  
    //Enable swiping... 
    $(".test").swipe({ 
    //Generic swipe handler for all directions 
    swipe:function(event, direction, distance, duration, fingerCount) { 
     $(this).text("You swiped " + direction); 
    }, 
    //Default is 75px, set to 0 for demo so any distance triggers swipe 
    threshold:0 
    }); 
}); 

$(document).on('click','button',function(){ 


$('<div class="test" id="test2">Swipe me</div>').appendTo('body'); 

});  

HTML

<div class="test">Swipe me</div> 

<button>New</button> 
+0

當你開始聽取有關'類=「測試」刷卡'你沒有'ID =「test2的」'元素使聽者不附。但是如果你在附加它後附加了監聽器,它應該可以工作。首先你需要停止傾聽,而不是開始一個新的聽衆。或者你可以通過定位id來啓動一個監聽器。 請看到這一點:http://jsfiddle.net/4CLqY/12/ –

+0

@ user2288766感謝您的答覆,有趣的是如何連接到一個新的選擇時,但如果其重新加入到同一個測試類現在有工作新成員。我不能爲所有動態內容添加唯一的ID。 – chris

+1

你應該停止監聽,然後重新啓動它。請參閱以下內容:http://jsfiddle.net/4CLqY/19/ –

回答

10

您可以重新連接刷卡事件到新的元素,因爲他們不」在添加初始事件時存在。

嘗試this fiddle

我添加了一個addSwipeTo函數,它的選擇器,和將活動添加到它匹配的元素。

+0

聰明,謝謝,這對我很有用。 – chris

+0

noob問題,你怎麼知道你可以通過刷卡(「摧毀」)銷燬刷卡()?你是否查閱過文檔或那是一件常見的事情? – chris

+1

兩者的一點,它是如此我搜索類似的谷歌「消滅jQuery的touchSwipe」 :) – NicoSantangelo