Это потому, что CoffeeScript автоматически завершает свой выход transpiled Javascript в качестве Immediately-Invoked Function Expression (IIFE), что означает любые функции, вы объявите внутри блока CoffeeScript являются не в глобальном масштабе. Таким образом, ваш блок jQuery не может найти функцию showAlert
, потому что она не существует в области/закрытии, доступ к которой может получить ваш блок jQuery.
Что вы можете сделать (хотя я не уверен, что это отличная идея) является объявить «глобальной» функции на window
имен:
window.showAlert = -> alert('asdfasdf')
и вызывать его из блока JQuery:
javascript:
jQuery(function($){
window.showAlert();
});
Это будет работать, потому что пространство имен window
доступно во всех (браузере) областях.
Выполняет ли 'showAlert()' работу? – alex
@alex да! когда я удаляю функцию и помещаю код в функцию jQuery. –