2014-07-22 48 views
1

我正在尝试使用soundcloud API做一个特殊的HTML5播放器。此代码示例演示如何从播放列表中为播放列表中的每个轨道获取轨道,并将轨道的封面图像添加到ul列表中。jQuery中的点击事件它没有响应

var url = 'http://api.soundcloud.com/playlists/44196539.json?client_id=3b3ca61a7c0afac8a6cfc678a24e23cf'; 

$.getJSON(url, function(playlist) { 
$(playlist.tracks).each(function(i) { 
console.log(playlist.tracks[i].title); 
$('#liste').append('<li><img value='+playlist.tracks[i].stream_url+' src='+playlist.tracks[i].artwork_url+'></li>'); 

    }); 
    }); 

之后,我得到了他们,我正在这样做。在点击事件中,音频播放器的属性src将接收流音频的值。但是,当我点击它没有响应的问题。当我显示我的源代码时,我的图像存在

$('img').click(function(){ 
    var x = $(this).attr('value'); 
    console.log(x); 
    $('#player').attr("src",x+"?client_id=3b3ca61a7c0afac8a6cfc678a24e23cf"); 
}); 

任何想法帮助非常感谢。

回答

1

使用event delegation

$('#liste').on("click" , "img" , function(){ 
    var x = $(this).attr('value'); 
    console.log(x); 
    $('#player').attr("src",x+"?client_id=3b3ca61a7c0afac8a6cfc678a24e23cf"); 
}); 
+0

@Downvoters - 请关心的评论如何错误,我已经做了那么只有改正我的错误。 –

+0

其工作非常感谢,但他们为什么不同? –

+0

您在上下文中添加了动态li和图像标签以便事件委托 –