2016-02-14 114 views
0

我已經從服務器中提取數據並創建了縮略圖列表和來自twitch TV的一些其他數據。使用javascript創建'<a href onclick = function ...我得到錯誤:Uncaught ReferenceError:popup is not defined

我需要創建帶有視頻流的彈出選項卡。

因此,我已將縮略圖放在錨標記中,並在onclick上調用了一個popup()函數。 (我打算在該功能中放置播放視頻的參數。) 此外,我已爲該popup()創建函數,但無論放置在何處,當我單擊縮略圖時,控制檯中都會出現錯誤。

ERROR: Uncaught ReferenceError: popup is not defined 

這是JS代碼:

$(document).ready(function(){ 
    $.getJSON("https://api.twitch.tv/kraken/streams", function(data) { 
    var items = []; 
    var videoHTML ='<ul>'; 

    //Popup Tab with streaming video 

    $.each(data.streams, function(i, video){ 
     videoHTML += '<li class="video-stream ' + video.channel.language + '">'; 
     videoHTML += '<img class="user-logo" src="' + video.channel.profile_banner + '">'; 
     videoHTML += '<p class="user-name">' + video.channel.display_name + '</p>'; 
     videoHTML += '<a href="#" onClick="popup()">'; 
     videoHTML += '<img class="video-image" src="' + video.preview.medium + '"></a>'; 
     videoHTML += '<h1 class="game-name">' + video.game + '</h1><br/>'; 
     videoHTML += '<i></i>'; 
     videoHTML += '<span class="views-number">' + video.viewers + '</span>'; 
     videoHTML += '<p class="short-date-format date' + i + '">' + video.created_at + '</p>'; 
     videoHTML += '</li>'; 

     var d = new Date(video.created_at); 
     //var dateClass = 'date' + i;     console.log(dateClass); 
     //$(dateClass).html = d.toDateString(); 

    //console.log(video._id); 
    //console.log(data.streams[i].game); 

    //console.log(data.streams[i]._links.self); 
    //console.log(data.streams[i].preview.medium); 
    }); 

videoHTML += '</ul>'; 
$('#placeholder').html(videoHTML); 

    }); //getJson 

    //popup tab 
    function popup(){ 
    alert('wow'); 
    }   

}); //end ready 

可以請你幫我這個becasue我不能在互聯網上找到答案嗎?

- 如何獲取popup()函數運行? - 如何在這個函數中實現參數?

(另外,我還試着寫錨在HTML和添加功能,然後一切工作正常,但是當我創建HTML與JS的話,我也有這個問題。

感謝您的面前!

真誠,

丹尼斯

回答

1

你定義在$(文件)。就緒功能彈出(函數()),所以彈出只能在其中使用。

將其移動到$(document).ready(function())函數之外

$(document).ready(function(){ 
    // code 
}) 
function popup(){ 
    // code 
} 
+0

您是對的!我刪除了$(document).ready(function(){}),現在它就像一個魅力一樣。謝謝 ! –

+0

太好了。很高興我能幫上忙 :) – Nijeesh

相關問題