$('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之前分配了负载。 –