$('body').on('click', 'img', function() {
$('<img class="halfsize" src="imgs/logo.png?' + Math.random() + '" alt="" />').appendTo('header');
});
$('img').on('load', function (evt) {
console.log(this, evt);
});
此代碼在頁面第一次加載時工作正常。但是,當點擊img時,新添加到標題的img不會觸發加載事件,爲什麼? Click事件工作正常。爲什麼jquery on()對圖像加載事件不起作用
是,根據「關於」功能(HTTP的文檔:// API .jquery.com/on /),「加載」,「滾動」和「錯誤」事件不會冒泡,因此無法委託。 – akhikhl
你的第二個版本在IE的某些版本中不能可靠地工作,因爲你必須在'.src'設置之前分配'onload'處理程序,否則你可能完全錯過'onload'事件。 – jfriend00
@ jfriend00,但在我的第二個版本中,我確實在src之前分配了負載。 –