我想提取包含在YouTube視頻網址中的視頻ID,然後將該ID存儲在我可以參考的變量中,以創建嵌入YouTube的iframe視頻。由於變量範圍,jQuery第一次點擊不起作用
下面是我的代碼:
$(".result").live("click", function() {
var result_number = 0;
youtubequery = "https://gdata.youtube.com/feeds/api/videos?category=Music&q=thesongstitle&v=2&alt=json&max-results=5";
youtubeid = "";
$.getJSON(youtubequery, function (vid_data) {
$.each(vid_data.feed.entry, function (e, vid) {
if (e == result_number) {
youtubeid = vid.id.$t.substring(27);
}
});
});
iframehtml = "<iframe height='300' width='400' src='http://www.youtube.com/embed/" + youtubeid + "?autoplay=1' frameborder='0' allowfullscreen></iframe>";
$("#youtube_vid").html(iframehtml);
});
當我點擊的類「結果」第一次不包括在存儲在變量iframehtml的iframe HTML YouTube的ID一個div。但是,當我第二次點擊它時,一切都按預期工作。 有誰知道這可能是什麼原因造成的? 當我包含iframehtml變量的創建以及將html放入#youtube_vid中的行時,我能夠使其工作,但由於我的網站的功能,我無法以此方式對其進行編碼。
那麼你應該使用on()而不是live()... – 2012-07-19 19:11:30
@ReyGonzales他應該,但這很可能與他的實際問題無關。 '.live()'在添加'.on'時不會停止工作! – Alnitak 2012-07-19 19:12:38
'event.preventDefault()'? – 2012-07-19 19:13:59