jQuery .klicken Sie auf() funktioniert nicht in Internet Explorer 9/10

Den unten, ist Teil von einem größeren Projekt (offensichtlich) und es ist in Ordnung, die in Chrome, Firefox und Opera, aber der .klicken Sie auf () - Funktionen nicht aufgerufen IE9 oder 10.

jQuery('.current img').hover(function() {
    var thisElem = jQuery(this);

    thisElem.parent().parent().find('.hotspot span:not(.select-image)').remove();
    thisElem.parent().parent().find('.hotspot img').parent().find('span.select-image').remove();

    jQuery('<span class="zoom-out"></span>').prependTo(thisElem.parent()).click(function() {
        z -= .1;
        z = Math.max(z, 1);

        jQuery(this).parent().find('img').attr('src', '<?php echo $urlPrefix; ?>/zcard-thumbnail-image/photos/<?php echo $modelId; ?>/low/' + i + '/' + (w * z) + '/' + (h * z) + '/file');
    });

    jQuery('<span class="select-image"></span>').prependTo(thisElem.parent());

    jQuery('<span class="zoom-in"></span>').prependTo(thisElem.parent()).click(function() {
        z += .1;
        z = Math.min(z, 5);

        jQuery(this).parent().find('img').attr('src', '<?php echo $urlPrefix; ?>/zcard-thumbnail-image/photos/<?php echo $modelId; ?>/low/' + i + '/' + (w * z) + '/' + (h * z) + '/file');
    });
});

Soweit ich das beurteilen kann, der .klicken Sie auf() ist nicht verbindlich, da die Elemente noch nicht existieren. Wenn ich stattdessen mit jQuery(Ziel).prepend(element), dann eine Warnung Verzug die weitere Ausführung, und dann das .klicken Sie auf() bindet, funktioniert alles einwandfrei. Leider ersetzen die Warnungen mit delay() nicht in der gleichen.

Hat jemand Vorschläge, bitte?

  • Und du hast natürlich erklären z, h und w irgendwo ?
  • Ha, ich habe =). Es funktioniert alles einwandfrei und in anderen Browsern, und wenn ich mit alerts zu einer Verzögerung zwischen der Erstellung des Elements und das hinzufügen von ein zu binden, alles, was auch die Arbeit im IE9/10. Es ist, als ob der IE ist einfach zu langsam bei der Aktualisierung der DOM befestigen, binden unmittelbar nach der Erstellung.
  • Es ist eine viel ältere version aber das gleiche problem zu sein scheint in dieser (mock, wireframed bauen, der Teil des Systems bin ich jetzt Debuggen möchte, die ich fürchte, ich kann nicht Zugang zu): Entwicklung.qweb.co.uk/tim-bailey/zcard
InformationsquelleAutor Ric | 2013-05-19
Schreibe einen Kommentar