在Coffeescript中重写我的站点的前端。我了解如何将点击功能绑定到类。CoffeeScript - 使用JQuery绑定单击事件以动态加载对象
$('.song').click ->
//code
但是,我遇到了动态加载内容的一些问题。我知道在jQuery的解决,这将是使用“开”功能,像这样:
$(document).on('click', '.song', function(){
//code
});
但我这是如何转化为CoffeeScript的不确定。我的印象是,箭头 - >转化为JavaScript中的匿名函数,但如果函数是其中一个参数,它如何工作?我已经尝试了很多不同的语法,但它们都不起作用,谢谢!
@Epeli,虽然您的编辑也是一种可能性,但这不是我的偏好。根据函数的内容,CS无法找到最终结果,这可以通过明确地加上大括号来解决。我发现CS令人讨厌的含糊之处; '$(document).on'例如返回'on'而不调用它,'do $(document).on'调用它,'$(document).on something'也调用它,'do $(document)一些东西会调用结果。对参数使用明确的大括号使得这种麻烦更少出现错误恕我直言。因此我会编辑回来。随意张贴你自己的 - 我会upvote它。 ;) – Lucero 2012-01-15 22:03:37
罗杰和对不起。编辑看起来相当明显,因为如果代码执行顺序清晰,您很少会看到带括号的CS代码。就像这个微不足道的例子。 – Epeli 2012-01-15 22:15:18
@Epeli,够公平的,这就是我解释自己的原因。在模块化SPA中运行了数千行CS代码,并看到我的开发人员正在努力解决某些解释的行为,因此我决定在组织中要求方法调用的对象,同时我禁止使用“do '。这实际上有助于保持代码质量,特别是在代码维护期间。 – Lucero 2012-01-15 22:19:29