[英]Calling a function in coffeescript from inline script
我在coffeescript文件中定義了一個函數為:
showAlert = () ->
alert("asdfsd")
從視圖的角度來看,我將此函數稱為:
:javascript
jQuery(function(){
showAlert();
});
但是該功能未觸發。 怎么了
這是因為Coffeescript自動將其轉譯的Javascript輸出包裝在立即調用的函數表達式 (IIFE)中,這意味着您在Coffeescript塊中聲明的任何函數都不在全局范圍內。 因此,您的jQuery塊找不到showAlert
函數,因為它不在您的jQuery塊可以訪問的作用域/閉包中。
您可以做的(盡管我不確定這是個好主意)是在window
名稱空間上聲明您的“全局”函數:
window.showAlert = -> alert('asdfasdf')
並從您的jQuery塊中調用它:
javascript:
jQuery(function($){
window.showAlert();
});
這將起作用,因為window
名稱空間在所有(瀏覽器)范圍中都可用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.