必要な場合にのみコードをロードするために、Web ページのコードを区分化しようとしています。ページの head セクションに 1 つの JavaScript ファイルが含まれています。ページにはボタンがあり、クリックすると div が前面に表示され、$.getScript を使用して div にデータが入力されます。新しく読み込まれたコンテンツは、2 つの追加の div と 10 個のボタンで構成されます。ただし、ボタンは機能しません。$('#element').click() コードをメインの HTML ページ、プライマリ JavaScript ファイル、または新しくロードしたファイルのいずれに配置しても、機能しません。フォーマットが間違っているものがありますか、それとも決して機能しないものですか?
$(document).ready(function() {
alert("Test"); /* This works */
$('#slideButton1').click(function() {
alert("Testing"); /* This doesn't */
});
});
ボタンは次のコードによって生成されます。
function addGalleryButtons() {
var sLabels = new Array("Aircraft","Avatars","BattleArmor","BattleMechs","Book Covers","Characters","Lego BattleTech","Maps","Naval Vessels","Vehicles");
var leftIndent = 15;
for(var i=0; i<sLabels.length; i++) {
var slBtn = $(document.createElement('div')).attr('id','slideButton'+i);
slBtn.addClass('base shadowed rad3 gSlideButton');
slBtn.html(sLabels[i]);
var slb = { 'left' : leftIndent+'px' , 'opacity' : '0.7' };
slBtn.css(slb);
slBtn.attr('title','slideButton'+i);
slBtn.appendTo('#gallerySlider');
leftIndent = leftIndent + $('#slideButton'+i).width() + 12;
}
}