RubyRogues 播客上的某个人曾经说过“学习 CoffeeScript,因为 CoffeeScript 写的 JavaScript 比你好。 ”抱歉,不记得是谁说的了……
所以,我采用了一个非常简单的 WORKING javascript 函数:
切换ii.js
function pdtogglejs(id) { $('div .partybackground').removeClass("hidden"); }
这条线正在调用它:
<a href="#" class="dctoggle" onclick="pdtogglejs('partybackground')">Read More...</a>
然后我把它转换成这个咖啡脚本: toggling.js.coffee
pdtogglecs(id) ->
jQuery('div .partybackground').removeClass("hidden")
并更改了 html 以引用 pdtoggle* c *s 而不是 pdtoggle* j *s。
我可以在我的 application.js 文件中看到它们都很好:
(function() {
pdtogglecs(id)(function() {
return jQuery('div .partybackground').removeClass("hidden");
});
}).call(this);
function pdtogglejs(id) { $('div .partybackground').removeClass("hidden"); }
;
(function() {
}).call(this);
但是,只有纯 javascript 有效。咖啡脚本总是返回Uncaught ReferenceError: pdtogglecs is not defined。
基于其他stackoverflow问题,它一定是某种命名空间错误。可能是因为 pdtogglecs 本身在函数内部的方式?但是,我尝试使用以下方法定义咖啡脚本函数:window.pdtogglecs、this.pdtogglecs、root.pdtogglecs,而咖啡脚本总是因该错误而失败。
我错过了什么??
谢谢!!