【问题标题】:from Javascript to CoffeeScript [closed]从 Javascript 到 CoffeeScript [关闭]
【发布时间】:2013-01-24 07:02:31
【问题描述】:

如何在coffeeScript 中编写这段javascript 代码?

$('#id_tab a').click(function (e) {
    $('ul.nav-tabs li.active').removeClass('active')
    $(this).parent('li').addClass('active')
})

当我把它放在我的 html.erb 文件中时它可以工作

所以我在 coffeeScript 文件中试试这个:

$ ->
    $('#id_tab a').click (e) ->
        $('ul.nav-tabs li.active').removeClass 'active'
        $(this).parent('li').addClass 'active'

而且它不起作用。 请帮忙!

【问题讨论】:

  • 你已经做到了。这你在 CoffeeScript 中编写代码的方式。您的问题在此代码之外,可能与文件的实际包含有关。尝试在文件顶部添加alert("!!!"),看看该文件是否包含在您的页面中。
  • CoffeeScript "$ ->" 中的第一行是多余的。如果您的原始 JS 代码中有 $(function() {...},您将只需要该行。

标签: ruby-on-rails twitter-bootstrap ruby-on-rails-3.2 coffeescript


【解决方案1】:

有一个名为JS2Coffee 的不错的站点,您可以使用它来检查您的脚本。您会看到您的咖啡脚本编译为:

$(function() {
  return $('#id_tab a').click(function(e) {
    $('ul.nav-tabs li.active').removeClass('active');
    return $(this).parent('li').addClass('active');
  });
});

试试这个:

$ ->
    $('#id_tab a').click (e) ->
        $('ul.nav-tabs li.active').removeClass 'active'
        $(this).parent('li').addClass 'active'
        true
    true

您可以查看此StackOveflow 答案以获取更多信息,但 Coffeescript 始终返回最后一行。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-08-30
    • 2015-02-01
    • 2015-03-29
    • 2016-02-14
    • 2023-03-05
    • 2013-02-16
    • 1970-01-01
    • 2014-06-06
    相关资源
    最近更新 更多