【发布时间】:2014-08-17 23:15:12
【问题描述】:
有人能解释一下以下两种语法之间的细微差别吗?
(我在咖啡脚本中使用 rails 和 turbolinks)
1) 我遇到过这种推荐的代码调用方式。
windowReady = ->
customFunction = ->
...code...
jQuery ($) ->
...code...
$(window).load(windowReady);
$(window).on('page:load', windowReady);
2) 我还使用了以下语法,在行为上没有明显差异。
(->
customFunction = ->
...code...
jQuery ($) ->
...code...
).call this
这两种方式应该注意哪些细微的差异,如何解决? 一个比另一个更可取吗?
【问题讨论】:
-
你在使用 TurboLinks 吗?
-
@mu 太短了,是的。如果是否使用 turbolinks 存在进一步的差异,也将不胜感激。
-
This answer 可能有用。 TurboLinks 只触发一次加载,之后当 TurboLinks 切换页面时您会收到
page:load事件。当然,除非你有一个可以修补$(document).ready(...)的插件。 -
似乎其他语法的行为方式也相同
-
与
windowReady版本的唯一功能区别是它使用命名函数将功能绑定到两个单独的事件。
标签: javascript jquery coffeescript turbolinks