2012-09-02 128 views
0

我想加載框架中的鏈接時,我徘徊他們,但不工作。如果我在頁面上創建的任何鏈接都使用此函數,但是當我在動態創建時使用它時不起作用。使用jquery動態創建內容

這是頁面

$('#user-tweets').append('<table class="tweets" width="320" border="0"><tr><td rowspan="1">' + 
    user + '</td><td rowspan="1">' + 
    date + '</td></tr><tr><td width="45"><a href="' + 
    profile_img + '"><img src="' + 
    profile_img + '" width="55" height="50"/></a></td><td width="186">' + 
    text + '<p><a href="' + url + '"target="_blank">' + 
    url + '</a></p></td></tr></table><hr>' 
); 

上創建...和我使用這個函數打開鏈接到幀當我徘徊的數據。

$("a").hover(
    function() { 
    $(this).append($("<iframe src='"+this.href+"'></iframe>")); 
    }, 
    function() { 
    $(this).find("iframe:last").remove(); 
    } 
); 

回答

0

你必須使用委託的事件處理程序,使用.on()

$('#user-tweets').on('mouseenter', "a", function() { 
    $(this).append($("<iframe src='"+this.href+"'></iframe>")); 
}).on('mouseleave', 'a', function() { 
    $(this).find("iframe:last").remove(); 
}); 

這個想法是,您將處理程序綁定到某個父元素,該元素在腳本運行時已經存在。然後,在新內容上觸發的事件可能會將DOM樹冒泡到該父項並在那裏處理。因此,您可以處理匹配特定選擇器的所有元素上的事件,即使它們不存在。