carts.js.coffee
$(document).ready ->
add_book: () ->
alert "hihi!!"
我尝试调用 window.add_book();和 add_book();在
add_to_cart.js.erb
但是两者都不能工作。
add_book();
window.add_book();
并且 Firebug 或 Webrick 控制台上没有显示错误
顺便说一句,我听不懂
变量或函数在
中的含义是什么(function() {})
或者当函数被 {{ }} 包含时
({
add_book: function() {
return alert("poc123!!");
}
});
有什么教程或关键词可以让我找到相关资源吗?
提前致谢
最佳答案
原因是你不能在 js erb 或 Coffee erb 中使用 $(document).ready
。
当你通过Ajax交付这个js erb时,文档已经准备好很长时间了。如果 erb 内的函数处于文档就绪状态,则它们将永远不会有机会被调用。
所以简单的修复方法是,删除准备好的文档,然后直接调用函数。
关于javascript - 如何在 Rails 3 上从 js.erb 调用 CoffeeScript 函数以及如何理解 Javascript 中的作用域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19680347/