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
);
}
});