2012-06-26 60 views
2

我有一個奇怪的問題,每當發生一個單擊事件IE9崩潰。我認爲這是克隆功能也許是一個錯誤,所以試圖刪除它,但同樣的問題。它在所有瀏覽器中工作,即使IE7和8但9只是不斷崩潰,並不確定。IE9崩潰後,jquery點擊事件

<div class="icons"> 
     <span class="attMessage"></span> 
     <span class="successMessage"></span> 
     <span class="errorMessage"></span> 
    </div> 

    <div class="newSection"> 
     <h3>Add/Update Adjuster License</h3> 
     <p>(this is where i am appending an icon from above)</p> 
     <p><a title="Add license to queue" class="addLicense"></a></p> 
    </div> 

_

$('.addLicense').click(function() { 
     var parent = $(this).parent(); 
     var license = $('.licenseOverview'); 
     var dropdown = $('#MainContent_ddlLicenseStates').val(); 
     var number = $('#MainContent_txtLicenseNumber').val(); 
     if (number != '') {    
     notifier(parent, "License Added To Queue", "Success"); 
     $('#MainContent_txtLicenseNumber').val(''); 
     } 
     else { 
     notifier(parent, "Must Enter A License Number", "Failure"); 
     } 
    }); 

    function notifier(oAppend, oMessage, oMessageType) { 
     var iconDiv = $('.icons'); 
     if (oMessageType == 'Success') { 
     $('.icons > .successMessage').clone().html(oMessage).appendTo(oAppend).delay(100).fadeIn('slow').delay(500).fadeOut(); 
     //tried a different way since i thought clone was crashing ie9   
     //$('.icons > .successMessage').html(oMessage).appendTo(oAppend).delay(100).fadeIn('slow').delay(500).fadeOut(); 
     setTimeout(function() { oAppend.find('.successMessage').remove().appendTo(iconDiv); }, 2500); 
     } 
     else if (oMessageType == 'Failure') { 
     $('.icons > .errorMessage').clone().html(oMessage).appendTo(oAppend).delay(100).fadeIn('slow').delay(500).fadeOut(); 
     setTimeout(function() { oAppend.find('.errorMessage').remove() }, 2500); 

     } 
     else if (oMessageType == 'Warning') { 
     $('.icons > .attMessage').clone().html(oMessage).appendTo(oAppend).delay(100).fadeIn('slow').delay(500).fadeOut(); 
     setTimeout(function() { oAppend.find('.attMessage').remove() }, 2500); 

     } 
    } 
+0

用FF打開...控制檯中有任何錯誤? –

+0

不會在我的IE9上崩潰:http://jsfiddle.net/reygonzales/xgCgB/ –

+0

問題大小看起來在n^2增長。也許你點擊真的很快? –

回答

0

它看起來就像是淡入()。延遲(500).fadeOut()是罪魁禍首。一旦fadeout出現IE9崩潰。我刪除了fadeOut並沒有發生崩潰。我沒有使用延時功能,而是使用了超時功能來處理fadeOut,不再發生崩潰。

$('.icons > .successMessage').clone().html(oMessage).appendTo(oAppend).delay(100).fadeIn('slow'); 
    setTimeout(function() { oAppend.find('.successMessage').fadeOut().remove(); }, 2500);