我正在做一些代码来将图像插入到div中,加载后,用户可能能够通过点击图像来触发事件,这不是因为某些奇怪的原因而起作用,这里是代码:
$(function(){
getPictures('pictures.xml');
function getPictures(picturesXML){
$.get(picturesXML, function(data){
var pictures = data;
var countElements = $(pictures).find('pic').length;
$(pictures).find('pic').each( function( i ){
var img = $('<img src="images/' + $(this).attr('src') + '" style="top : ' + $(this).attr('top') + 'px; left: ' + $(this).attr('left') + 'px" width=" '+ $(this).attr('w') +'"/>');
img.load( function(){
$('.space').append( $(this) );
$(this, 'space').delay(100*i).fadeIn('fast');
});
})
$('.space img').mouseenter(function(){
alert('hello');
})
})
}
})
这里有谁可以帮我弄清楚这一点。 谢谢!
答案 0 :(得分:1)
常规jQuery事件函数往往不支持事件冒泡。尝试使用$ .on方法。在这种情况下,请替换:
$('.space img').mouseenter(function(){
alert('hello');
})
使用:
$(document).on('mouseenter','.space img', function(){
alert('hello');
});
另外,请注意丢失的分号。这应该可以解决问题。