所以我有一个 JSON 对象回来了,我想从对象中提取缩略图,添加点击事件,一旦点击它就会基于 JSON 对象构建 SWF 播放器。我很难将缩略图“绑定(bind)”到 SWF。因此,当您单击此缩略图时,构建此 SWF。
这是一个提取缩略图的 JSFiddle。我不确定我是否设置正确。不确定设置点击事件是否需要在 for 循环中。
jsfiddle.net/MW9HR/2/
任何帮助将不胜感激。
最佳答案
应该是不是 处于循环中,因为您(正确地)使用 live 方法。
但是,您错误地传递了 swf 数据。
应该是 $('.thumbnail').live('click', {swf:$swf}, function(e){
现在您可以使用 e.data.swf
从处理程序内部访问它。
您还可以使用 .die()
docs取消绑定(bind)以前的实时点击处理程序的方法(以防您的代码运行不止一次),所以
$('.thumbnail').die('click').live('click', {swf:$swf}, function(e){
我还更改了您的代码以在每个缩略图上添加一个标识符,以便您可以轻松地将它们映射到视频数组。
$videos += '<li class="video"><img class="thumbnail" data-videoid="'+$i+'" src="' + $thumbnail + '" alt="' +$title + '" /></li>';
您可以检索此
videoid
当您单击带有 .data()
docs 的元素时方法为$(this).data('videoid')
演示在 http://jsfiddle.net/gaby/JfqtK/
关于jquery - 使用 jQuery 和 JSON 的动态 Youtube 视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5462467/