2010-03-21 53 views
3

如果我使用了一些非常簡單的代碼,如:銷燬jquery函數和我的對象之間的綁定?

$('#elm').tipTip(); 

它會做什麼插件供。有沒有辦法破壞這個綁定到插件tipTip()將不會長時間綁定到這個元素?

UPDATE

的原因是,這並不是說我想從彈出停止的提示,我有用戶會看到一個主數據格,併爲他們點擊從隱藏層周圍的內容以時髦的過渡進入它。

這個插件工作得很好,但是如果我刪除內容然後再次添加它(單擊其他內容然後再次返回),它們就不起作用。

我認爲最好的做法是從我的元素中刪除整個提示插件綁定,然後每次將內容移入框中時再次啓動,可能不會。

+0

看看這個:http://stackoverflow.com/questions/1548426/unbind-jquery-plugins – 2010-03-21 09:54:23

+0

我沒有使用editable()雖然? – tarnfeld 2010-03-21 10:11:18

回答

4

如果問這樣一個問題,首先要做的第一件事是,如果你包含一個到你正在使用的插件的鏈接,那將會很好。你的意思是這個TipTip?如果是的話:

據我所見,這個插件沒有內置的功能來「銷燬」已經創建的TipTip對象。 (至少在文檔中沒有這個概念,並且源代碼在快速檢查中也沒有提供這個)。

由於我對插件本身並不熟悉,也沒有詳細說明如何使用插件,所以我不確定我的解決方案是否適合您。但是,如果有的話,你可以嘗試並提供反饋。

這應該會阻止提示提示出現。

$('#elem').unbind('hover'); 

問題與此解決方案:

  • 只解除綁定插件結合本身的事件
  • 的TipTip對象是不是真的刪除,但只是不再觸發
  • 此次榮獲」如果你自己綁定另一個處理程序到這個元素的懸停事件

如果有你可能會考慮取消額外的DOM的TipTip功能在網頁上LY一個元素的東西,插件使用過

$("div[id^=tiptip_]").remove(); //remove the tiptip holder/content/arrow divs 
+0

這就是插件,我已經調整了上面的問題。 – tarnfeld 2010-03-21 11:05:16

+0

@jitter,我也瀏覽了插件源代碼,沒有用戶銷燬或取消綁定的實現。 – 2010-03-21 11:16:48

+0

我的解決方案是否適合您? – jitter 2010-03-21 11:42:43

1

我發現,只有重新綁定tipTip()的元素,它會覆蓋舊的提示。