0

私はPythonとJavaのバックグラウンドから来たjQueryを初めて使用するため、さまざまな.jsファイルでの作業がどのように機能するかに慣れることができません。次のスクリプトをインポートするHTMLファイルがあります。

    <script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
    <script
        src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.11.0/jquery.validate.js"></script>
    <script src="{{ STATIC_URL }}/forms.js"></script>
    <script src="{{ STATIC_URL }}/workout1Alt.js"></script>

最後の2つは私のものです。forms.jsにはvalidateNumberForm、より具体的なフォームで使用できるようにしたい一般的な関数がありworkout1Alt.jsます。フォームの署名は次のようになります。

var validateNumberForm = function(id)

validateNumberForm私は次のようにinを呼び出しworkout1Alt.jsます:

validateNumberForm('#squatsForm');

しかし、私はこのエラーを受け取ります:

Reference Issue: Cannot find variable validateNumberForm. 

誰かが私にこのようなことをする方法のベストプラクティスを教えてもらえますか?

4

1 に答える 1

1

次のように、jQuery対応ハンドラー内で定義をラップしていると思います。

$(function() {
    var validateNumberForm = function(id) { /* ... */ };
    // ...
});

それはvalidateNumberFormそこでのみ利用可能になります。他のファイルで使用できるようにする場合は、準備完了ハンドラーから移動できます。

var validateNumberForm = function(id) { /* ... */ };
$(function() {
    // ...
});

または、明示的にエクスポートすることもできます。

$(function() {
    var validateNumberForm = function(id) { /* ... */ };
    window.validateNumberForm = validateNumberForm;
    // ...
});
于 2013-03-24T21:35:07.773 に答える