2013-01-16 81 views
4

在Rails應用中使用pjax時,我有一些twitter引導工具提示not being removed from the DOM元素的問題。例如,當我用工具提示將鼠標懸停在某個元素上時,然後點擊指向另一個頁面的鏈接,工具提示被凍結。我目前的解決方案,以消除該提示如下:使用pjax時銷燬/隱藏twitter引導工具提示

App.Utils.Tooltip = { 

    triggerAll: function(element) { 
    if (element.data('tooltip-loaded') == true) { return; } 
    element.data('tooltip-loaded', true).tooltip().trigger('mouseover'); 
    }, 

    destroyAll: function() { 
    var tooltips = ($('[rel=tooltip]').get()); 

    $.each(tooltips, function() { 
     $(this).tooltip('destroy'); 
    }); 
    } 

}; 

$(document).on('mouseover', '[rel=tooltip]', function() { 
    App.Utils.Tooltip.triggerAll($(this)); 
}); 

$(document).on('pjax:beforeSend', function() { 
    App.Utils.Tooltip.destroyAll(); 
}); 

有沒有做到這一點更高效/有效的方法是什麼?

+0

對我來說似乎是一種合適的方法 –

回答

1

工具提示插件阻止您將其實例化兩次,因此檢查是不必要的,您可以將代碼簡化爲以下內容。

App.Utils.Tooltip = { 
    triggerAll: function(element) { 
    element.tooltip('show'); 
    }, 
    destroyAll: function() { 
    $('[rel=tooltip]').tooltip('destroy'); 
    } 
};