2009-12-23 59 views
3

我想弄清楚cluetip的實際工作原理。我有一個虛擬的DOM結構,我做了一些警告,以檢查在錨元素上調用cluetip('destroy')之後是否移除了cluetip。然而,線索div依然看起來還活着。這真讓我困惑......jQuery cluetip('destroy')不會銷燬/刪除提示?

糾正我,如果我錯了...... AFAIK,cluetip在網頁上有1個實例,它存在於標籤層次結構中,即cluetip> cluetip-outer> cluetip-inner 。當它首次附加到一個html元素(在我的情況下,一個錨點)時,它附加到DOM結構的某處。所以這個問題:在HTML元素上調用cluetip('destroy')實際上是刪除了cluetip,還是會刪除/重置cluetip中的某種變量(如果是這樣,哪個變量)?或者我完全不在這裏?

謝謝。

回答

3

它看起來像所有的破壞功能所做的是如果你想確保cluetip數據被刪除了事件觸發(28-30行)

if (js == 'destroy') { 
    return this.unbind('.cluetip'); 
} 

,然後清除它自己:

$('#cluetip-inner').empty(); 

更新:要回答你的問題,如果有關的元素有什麼必然要看到它,我將把你的東西,我從James Padolsey's site發現:

// List bound events: 
console.dir(jQuery('#elem').data('events')); 

// Log ALL handlers for ALL events: 
jQuery.each($('#elem').data('events'), function(i, event){ 
    jQuery.each(event, function(i, handler){ 
     console.log(handler.toString()); 
    }); 
}); 

*注意:console指的是Firebug控制檯。

+0

我想檢查事件觸發器是否已綁定/未綁定。我該如何解決這個問題? – BeraCim 2009-12-23 02:50:57

2

嘗試以下操作:

$(this).cluetip('destroy'); 
$(this).remove(); 

的remove()函數也應該取消綁定的事件。

相關問題