たとえば、次の名前の HTML がありますindex.html
。
<html>
<head>
<style>
#content { float:left; }
#sub { float:right; }
</style>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript" src="action.js"></script>
</head>
<body>
<h2>Test de</h2>
<div id="content">
Content
<button class="loadSub">Load</button>
</div>
<div id="sub">
Sub content
</div>
</body>
</html>
そして、次の名前の単純な JS ファイルaction.js
:
$(document).ready(function(){
$('button.loadSub').click(function(){
$('#sub').load('test.html');
});
$('button.hide').click(function(){
$('#sub').fadeOut('slow');
});
});
ご覧のとおり、ボタンをクリックすると.loadSub
、div#sub
に次の新しいコンテンツが読み込まれtest.html
ます。
<h2>This is the sub content</h2>
<button class="hide">Hide</button>
ここで 2 つの問題が発生しました。
まず、.loadSub
ボタンは id の div を正常にロードしましたsubcontent
が、.hide
ボタンは機能しませんでした。
第二に、挿入しようとした後
script type="text/javascript" src="action.js"
内部test.html
では、非表示ボタンが機能し、そのコンテンツがフェードアウトしました。しかし、その後、ボタンloadSub
が機能しなくなっていることがわかりました。再読み込みできませんでしsubcontent
た。
button.loadSub
jsファイルのソースを一度だけ宣言し、クリックするたびに作業を行う他の方法はありますか? 誰でも問題を説明して、それを修正するためのヒントを教えてください。