0

テスト目的で application.js ファイルに JavaScript 関数を作成しましたが、ビュー ファイルでその関数をインラインで使用すると、それにアクセスできません。

アプリ/アセット/application.js:

//= require jquery
//= require jquery_ujs
//= require_tree .

$(document).ready(function() {
  function test() {
    alert('test');
  }
}

ビュー/レイアウト/application.html.haml

:javascript
  test(); // gives me a Uncaught ReferenceError: test is not defined error
4

1 に答える 1

0
$(document).ready(function() {
  test = function() {
    console.log("foo");
  }
});


// wait for document ready
$(document).ready(function() {
  test();
});

$(document).ready(function() {
  window.test();
});

これも失敗する

$(document).ready(function() {
  var test = function() {
    console.log("foo");
  }
});

これにより、 var functionName = function() {} と function functionName() {}の読み方もよくわかるはずです。

于 2013-02-12T01:27:53.110 に答える