Callback Function

Calling a callback by name

HTML

<!-- jQuery RSS plugin-->
<script src="https://raw.github.com/sdepold/jquery-rss/gh-pages/src/jquery.rss.js"></script>


<h3>Block 1</h3>
<div id="block1"></div>


<h3>Block 2</h3>
<div id="block2"></div>

<h3>Callback Log:</h3>
<div id="cbBlock"></div>

JavaScript

$(document).ready(function () {
    var cbHolder = {};
    cbHolder.rssdone = function(){
    $('#cbBlock').append('did some callback     stuff<br>');	
};
			
var config = {
    "feeds": [
        {
            "container": "#block1",
            "url":"http://apps1.eere.energy.gov/news/rss/program.cfm?topic=1010",
            "limit":"4",
            "layoutTemplate": "<ol type='1'>{entries}</ol>",
            "entryTemplate": "<li>{title}</li>",
            "cb":"rssdone"
        },
        {
            "container": "#block2",
            "url":"http://apps1.eere.energy.gov/news/rss/financial_opps_solar.cfm",
            "limit":"2",
            "layoutTemplate": "<ol type='A'>{entries}</ol>",
            "entryTemplate": "<li>{title}</li>",
            "cb":"rssdone"
        }
    ]
};	
	
for( var i=0; i < config.feeds.length; i+=1 ) {
    $( config.feeds[i].container ).rss(
        config.feeds[i].url,
        {
            limit: 			config.feeds[i].limit,
            layoutTemplate: config.feeds[i].layoutTemplate,
            entryTemplate: 	config.feeds[i].entryTemplate
        },
        // this fails to use callback
        cbHolder[config.feeds[i].cb]
        
        // use this instead, and it works!
        // rssdone
    );
    
}
    
});