0

我正在做一些代码来将图像插入到 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');

            })

        })
    }
}) 

有没有人可以帮我解决这个问题。谢谢!

4

1 回答 1

1

常规的 jQuery 事件函数往往不支持事件冒泡。尝试使用 $.on 方法。在这种情况下,替换:

$('.space img').mouseenter(function(){
            alert('hello');

        })

和:

$(document).on('mouseenter','.space img', function(){
            alert('hello');

        });

另外,请注意缺少的分号。这应该可以解决问题。

于 2013-02-27T23:33:35.060 回答