2011-07-16 90 views
0

我正在使用此代碼動態更改span元素的文本。它在Chrome中工作,只改變一次跨度的內容,但在IE中進行無限循環(計數保持更新並且html文本不斷變化)。任何人都知道我可以如何解決它或爲什麼它發生?代碼在Chrome中運行但在IE中無限循環

bindFlagUpdate(); 
function bindFlagUpdate(){ 
    $(document).bind('flagGlobalAfterLinkUpdate', function(event, data) { 
     var string = $('#like-' + data.contentId).html(); 
     var getNum = string.match(/[0-9]+/g);   
     var count = getNum[0]; 

     if(data.flagStatus == 'flagged') { 
      count++;    
     } else { 
      count--;   
     }   
     $('#like-' + data.contentId).html("1 user likes this"); 

     $(document).unbind(); 
     bindFlagUpdate(); 
     return false; 
    }); 
} 

描述的事件的:

的flagGlobalAfterLinkUpdate事件觸發該事件 標誌的鏈接已被更新之後。 (標記鏈接出現在 兩種口味:「書籤這個!」和「Unbookmark this!」,並且當我們 談到「更新」時,我們的意思是這種外觀變化)。

的,甚至連接到一個「標誌」按鈕

+1

首先,我認爲'string'是一個保留字,不應該使用。其次,你是否嘗試過使用console.log進行調試? – tjameson

+1

bindFlagUpdate調用bindFlagUpdate,你將這個匿名函數綁定到事件無限次! –

+0

我不知道console.log是什麼。我是新人,對不起。但我看着它 –

回答

2

要回答這個問題,我們需要更多地瞭解事件flagGlobalAfterLinkUpdate以及它是如何觸發。這聽起來像事件的回調函數中的某個事件觸發了事件,因此一旦它被觸發一次,它就會不斷觸發它。

+0

我更新了問題。爲什麼它會在鉻中工作? –

+0

觸發事件的可能差異。可以行: $('#like-'+ data.contentId).html(「1 user like this」); 可能觸發它? – Paulpro

+0

只有當有人點擊「標記這個」按鈕時纔會觸發它 –

相關問題