我試圖將網頁的代碼劃分爲僅在需要時加載代碼。我有一個JavaScript文件包含在我的頁面的頭部分。該頁面有一個按鈕,當點擊該按鈕時,會將div帶到前臺,然後通過使用$ .getScript來填充div。新加載的內容由兩個額外的div和十個按鈕組成。但是,按鈕不起作用。無論我在我的主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()函數和一些試驗性錯誤進行一些調查,下面的工作完美('#mouseWindow')。on('mouseover','#gallerySlider div',function(){$(this).stop()這是一個鼠標懸停/鼠標懸停, .animate({opacity:1.0},200);}); $('#galleryWindow')。on('mouseout', '#gallerySlider div',function(){$(this)。stop()。animate({opacity:0.5},200); }); – 2012-01-29 05:04:56