jqueryを使用して単一ページアプリケーションを構築しています。したがって、このようなサイドバーがあると仮定してください。jquery関数には一度だけ含まれますか?
dashboard.html
order.html
と私はそれをクリックするたびにajax経由でコンテンツを読み込みます。それはうまく動作しますが、私はスクリプトが2回以上ロードされたことに気付いています。これを解決するには?
jqueryを使用して単一ページアプリケーションを構築しています。したがって、このようなサイドバーがあると仮定してください。jquery関数には一度だけ含まれますか?
dashboard.html
order.html
と私はそれをクリックするたびにajax経由でコンテンツを読み込みます。それはうまく動作しますが、私はスクリプトが2回以上ロードされたことに気付いています。これを解決するには?
スクリプトとHTMLを別々のファイルに保存します。次に、既にスクリプトを読み込んだかどうかを確認し、再度読み込まないでください。
var dashboard_js_loaded = false;
$("#dashboard").click(function() {
$("#content").load("dashboard.html", function() {
if (!dashboard_js_loaded) {
$.getScript("dashboard.js", function() {
dashboard_js_loaded = true;
});
}
});
});
おそらくrequire.js
のようなライブラリを使用して、これをより一般的に管理できます。または、オブジェクトにロードされたJSファイルを追跡する単純な関数を書くこともできます。
AJAXでHTMLコンテンツを読み込むだけで、メインページにのみスクリプトを読み込む必要があります。 – Barmar
@Barmarいいえ、私のアプリが大きければ、それは競合するでしょう、あなたは一度にすべてをロードするのは無駄です。 –
[JQUERYクラスでワンクリックできるだけ]の複製が可能です。(http://stackoverflow.com/questions/32616022/allow-just-one-click-in-class-jquery) –