私の問題を次のトピックの方法で提示します。事前に読んでください。
関数:
$("#someAJAXContainer").load("someHTML.html");
コンテキスト: 開始ページを 1 つだけにしたいので、すべてのコンテンツが動的に読み込まれる中央に div を追加します。マスター ページと非常によく似ています (同じではないにしても)。
...
<body>
<div id='menu'></div>
<div id='someAJAXContainer'></div>
<button>loadAjaxDiv</button>
<div id='footer'></div>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery-ui.min.js"> </script>
<script src="functions.js></script>
</body>
...
functions.js は次のようになります。
$(document).ready(function(){
$("#someAJAXContainer").load("someHTML.html");
$("button").button();
$("#responseA").click(function(event){
alert("the link should no longer took you to jquery.com");
event.preventDefault();
});
});
問題: AJAX 応答 HTML がコンテナーにロードされると、既存の JQuery コードにリンクされません。したがって、応答が次のような場合:
<div id ='response'>
<a id = 'responseA' href="http://jquery.com/">jQuery</a>
</div>
リンクは、同じようにjquery.comページに移動します:(
したがって、これを解決するための私のアプローチは(functions.jsで)使用しています:
$("#someAJAXContainer").load("someHTML.html", function() {
$("#responseA").click(function(event){
alert("the link should no longer took you to jquery.com");
event.preventDefault();
});
});
しかし今、私は複数レベルの内部 ajax を持っており、コードが乱雑になっています! 私はそれがうまくいっている方法があまり好きではありません。だから私はここでどんな種類のエラーをしているのだろうか. これは、構造的、適切な実践、レベルでも正しいですか?
私が問題について明確であることを願っています。私はそれについてグーグルで調べていましたが、私が得た唯一の答えは以前に提案されたものと似ていましたが、それはすべて非常に曖昧でした.
よろしく;