de l'événement.stopPropagation() ne fonctionne pas sous chrome avec jQuery 1.7

Pour quelque raison cliquant sur le document n'est pas au travail de Chrome (le closeQuickView n'est pas appelé).

Les éléments sont chargés via AJAX et donc le besoin de les avoir .sur la (les) action (précédemment .live (), qui est maintenant obsolète dans jQuery 1.7)

Utilisé l'exemple donné ici: Comment puis-je détecter un clic à l'extérieur d'un élément? comme base

$('html').on('click', '.poster:not(.active) .image-effect', function (event) {

        var obj = $(this).parent();

        //If there are no .close spans
        if (obj.find('.close').length === 0) {

            //Add the close element by javascript to remain semantic
            obj.find('.quick-view').append('<span class="close">&times;</span>');
        }

        //Close any open Quick Views
        closeQuickView();

        //Add the active class (controls opacity)
        obj.addClass('active');

        //Fade in the Quick View
        obj.find('.quick-view').fadeIn(200, 'easeInOutQuint');

        event.preventDefault();
        event.stopPropagation();

    });

    $('html').on('click', '.active', function () {
        return false;
    });

    $('html').on('click', '.close', function () {
        closeQuickView();
    });

    $('html').on('click', '.quick-view', function (event) {
        event.stopPropagation();
    });

    //Close the QuickView with a button
    $('html').on('click', function () {
        closeQuickView();
    });

    function closeQuickView() {
        $('.poster').removeClass('active');
        $('.quick-view').fadeOut(200, 'easeInOutQuint');
    }

Balisage est comme suit:

<figure class="grid_2 box poster">
    <a class="image-effect" href="#">
        <img class="colour" src="path/to/image" />
        <img class="bw" src="path/to/image" />
    </a>
    <div class="quick-view">

        Content

    </div>
</figure>
Les chiffres sont enveloppés dans un #div du contenu qui fait l'objet de l'AJAX chargement. J'ai ajouté un emballage intérieur de la div, vidé le cache et il semble fonctionner maintenant :S

OriginalL'auteur Craig | 2011-11-05