Быстрый вопрос для людей, знакомых с jsFiddle: почему это не запускает функцию при нажатии кнопки?
Я уверен, что упускаю что-то очевидное, но могуне работает.
Вам нужно выбрать опцию «без переноса (голова)» на боковой панели. В противном случае ваша функция f() будет упакована в некоторые элементы $(function() { /*...*/ }); и не будет видна для установки в атрибуте onclick:
f()
$(function() { /*...*/ });
onclick
http://jsfiddle.net/ambiguous/a6rQX/
Это потому, что функция с именем f() локальна для функции onReady, поэтому она недоступна в глобальном контексте.
onReady(){ function f(){ xyz } }
Под рамкой выберите «без упаковки (голова)
Нажмите кнопку «Выполнить».
Теперь должно работать.