2

Railsアプリには次のものがあります。

# projects.js.coffee
jQuery ->
  $('#project_title').typing ->
    start: (event, element) ->
      element.css 'background', '#fa0'

    stop: (event, element) ->
      element.css 'background', '#f00'
      alert 'send request to populate samples'

    delay: 400

ただし、コンパイルされたjsファイルでは、次のようになります。

(function() {

  jQuery(function() {
    return $('#sprinkler_word').typing(function() {
      ({
        start: function(event, element) {
          return element.css('background', '#fa0');
        },
        stop: function(event, element) {
          return element.css('background', '#f00');
        }
      });
      alert('send request to populate sprinkle samples');
      return {
        delay: 400
      };
    });
  });

}).call(this);

「アラート」呼び出しが「停止」機能に含まれていないのはなぜですか?構文が間違っていると思いますが、どこにあるのかわかりません。ありがとう。

4

1 に答える 1

2

コードを「TryCoffeescript」ウィジェットに貼り付けると、期待するコード、つまり停止関数内のアラートが表示されます。

jQuery(function() {
  return $('#project_title').typing(function() {
    return {
      start: function(event, element) {
        return element.css('background', '#fa0');
      },
      stop: function(event, element) {
        element.css('background', '#f00');
        return alert('send request to populate samples');
      },
      delay: 400
    };
  });
});

したがって、インデントを台無しにするタブとスペースを推測しています。

于 2012-07-18T18:36:45.983 に答える