jquery - 加载图像然后用该图像触发事件

时间:2013-02-27 23:29:28

标签: jquery

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

            })

        })
    }
}) 

这里有谁可以帮我弄清楚这一点。 谢谢!

1 个答案:

答案 0 :(得分:1)

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

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

        })

使用:

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

        });

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