2016-08-01 4 views
0

私はこのビューを外部HTMLファイルからロードするモーダルと呼びます。 このModalのコンテンツは実行時に生成されるため、javascriptファイルをロード/リロードする必要があります。ランタイムでJavascriptをロードブートストラップモーダル

私は、このModalがロードされた後にjavascriptファイルをリロードして正常に動作する関数を作成しました。

私の質問:これを達成するためのよりよい方法はありますか?

+0

あなたは、コールバックを試してみましたか? – owaishanif786

+0

Modalがロードされたときのコールバック? それがあなたが意味するものなら、私はまだJavascriptファイルをリロードしているでしょうか? – ThalesMiguel

答えて

1

外部HTMLファイルが含まれているときにJSファイルを読み込もうとしましたか?ビューで

<script>LoadJsAsync('/Scripts/modal-scriptName.js');</script> 

参照されたJSファイルで:

function LoadJsAsync(jsPath) { 
    var head = document.getElementsByTagName('body')[0]; 
    var script = document.createElement('script'); 
    script.type = 'text/javascript'; 
    script.onreadystatechange = function() { 
     // if (this.readyState == 'complete') { callFunctionFromScript(); } 
    } 
    script.src = jsPath; 
    head.appendChild(script); 
} 
+0

この方法で、私は新しいJavascriptファイルをロードすることを理解します。私の問題では、私はすでに私の最初のHTML(モーダルを呼び出すもの)にロードされたJavascriptを持っていて、同じJavascriptをモーダルにロードする必要があります。 jQueryは理解を深めるために、これらのJavascriptファイルの1つです。 – ThalesMiguel

+1

私があなただったら私はモーダルのための独立したJSファイルを持っていて、私が記述した方法でロードします。既存のJSをリロードするのは良い方法ではなく、他の問題がある可能性があります。モーダルに固有のJSを動的にロードすると、そのモーダルにのみ影響します。 –

+0

しかし、私はこのモーダルの内側と外側で使用されるいくつかの関数を持っています。私がモーダル用の別のJavascriptを作成すると、コードを複製することになります。 – ThalesMiguel