私は、必要なときにのみコードを読み込むようにWebページのコードをコンパートメント化しようとしています。私は私のページの頭の部分に含まれている1つのjavascriptファイルを持っています。このページにはボタンがあり、これをクリックするとdivが前面に表示され、$ .getScriptを使用してdivが生成されます。新しく読み込まれたコンテンツは、2つの追加のdivと10個のボタンで構成されます。ただし、ボタンは機能しません。私のメインのHTMLページ、プライマリのjavascriptファイルまたは新しくロードされたファイルで$( '#element')。click()コードを置くかどうかは、動作しません。フォーマットが間違っているのですか、これは決してうまくいかないものですか?
$(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;
}
}
私が取りましたjsFiddleを簡単に見て、複数のjavascriptファイルを使用している場合は、設定方法について直感的に直感的ではありませんでした。.on()機能と試行錯誤の調査を行うと、マウスオーバー/マウスアウトのためのもので、10個のボタンのそれぞれを処理します。 $( '#galleryWindow')( 'mouseover'、 '#gallerySlider div'、function(){$(this)).stop 。アニメーション({opacity:1.0}、200);}); $( '#galleryWindow')。on( 'mouseout'、 '#gallerySlider div'、function(){$(this)。stop()。animate({opacity:0.5}、200); }); –