Функции, которые вы определяете, определены в функции onload, так что, прежде чем они были ссылочными, потому что они определены в этой функции, на них можно ссылаться только из этой функции.Вы упоминаете их как глобальные в вашем HTML.У вас есть три варианта
a) (самый простой, быстрый, не идеальный) - измените function blah(){}
на window.blah = function(){};
, сделав функции глобальными.
b) (идеальный способ) - используйте ненавязчивый Javascriptпривязывать поведение к элементам DOM только изнутри JS, что означает отделение HTML от JS.
в) Сделайте так, чтобы jsfiddle не переносил содержимое при загрузке.Измените onLoad
на "без переноса" (тело или голова).
Так что вместо <p onclick="lol()" id="foo">
вы бы сделали var e = document.getElementById('foo'); e.onclick = lol;
только в JS.
Я рекомендую b, так как это лучше всего подходитпрактика.