2012-06-26 18 views
13

मैं पृष्ठ पर आइटम जानकारी दिखाने के लिए ट्विटर बूटस्ट्रैप पैकेज से टूलटिप्स का उपयोग कर रहा हूं। कभी-कभी जानकारी बदल जाती है, और टूलटिप में अपडेट होने की आवश्यकता होती है। मैंने टूलटाइप को नए शीर्षक के साथ पुनः आरंभ करने की कोशिश की:ट्विटर बूटस्ट्रैप टूलटिप को ओवरराइट कैसे करें?

$('#selector').tooltip({ title: 'new text'}); 

हालांकि टूलटिप का शीर्षक नए टेक्स्ट के साथ नहीं बदला जाता है। यह वही रहता है जैसा इसे प्रारंभ में सेट किया गया था। कोई विचार क्यों, और क्या कोई काम आसपास है? धन्यवाद!

+0

इसे आजमाएं: $ (एल्म) .tooltip ('नष्ट')। टूलटिप() टूलटिप ('शो'); – Aliti

उत्तर

14

अद्यतन: के रूप में @ निगेल-एंजल ने बताया, v3 का उपयोग करता data('bs.tooltip')


आप टूलटिप वस्तु ओवरराइड नहीं कर सकते एक बार आप एक तत्व पर प्रारंभ कर दिया है TWBS। लेकिन आप इसे हटा सकते हैं और इसे फिर से कर सकते हैं।

हटाने का प्रयास करें और फिर अपने सभी विकल्पों के साथ टूलटिप को फिर से शुरू करें (यदि आपके पास कोई था)।

$('#selector').data('tooltip',false)   // Delete the tooltip 
       .tooltip({ title: 'new text'}); 

श्रोताओं को हटाने की आवश्यकता हो सकती है, लेकिन यह ऐसा काम करता है।

+0

बढ़िया, बिल्कुल मुझे क्या चाहिए। आपका बहुत बहुत धन्यवाद! – bbbonthemoon

+2

@bbbonthemoon बस इस पोस्ट पर ठोकर खाई: http://stackoverflow.com/a/9875490/1478467 जो क्लीनर – Sherbrow

+0

हो सकता है यह बहुत अच्छा काम करता है, श्रोताओं को बिल्कुल संपादित करने की आवश्यकता नहीं है। –

2

किसी कारण से, यह मेरे लिए काम नहीं करता (बूटस्ट्रैप 2.1.1)। मुझे क्या करना था:

$('#element').tooltip('destroy'); 
    $("#element").tooltip({'placement':'right', 'title':'larger larger text title'}); 
    $("#element").tooltip('show'); 
+0

के बजाय 'डेटा ('bs.tooltip') 'का उपयोग करने की आवश्यकता है। यह मेरे लिए काम करता है। मैं यूआई के संदर्भ के आधार पर दो पूरी तरह से अलग टूलटिप्स का उपयोग कर रहा था। धन्यवाद @aszahran। – Hallmanac

6

इस तकनीक को मेरे लिए काम नहीं किया तो मैं एक जवाब, टिप्पणी of a similar question में से एक में छिपा हुआ पाया।

स्पष्ट तरीका lukmdo

0

को टूलटिप

$(element).attr('title', 'NEW_TITLE').tooltip('fixTitle').tooltip('show');

धन्यवाद का प्रदर्शन पाठ अद्यतन करने के लिए @Sherbrow आप सरल उपयोग नहीं one.Need इस जटिल समाधान जाना कर सकते हैं। यहां नमूना कोड है।

$('#spanUsername').prop('title', newValue);  
0

मैं बूटस्ट्रैप 3 का उपयोग करता हूं, और इनमें से कोई भी बग के बिना मेरे लिए काम नहीं करता है। .tooltip('destroy') के माध्यम से टूलटिप को नष्ट करना और उसी फ़ंक्शन में इसे पुन: प्रयास करना .tooltip({...}) परिणामस्वरूप टूलटिप अब काम नहीं करेगा। यह केवल तभी काम करता था जब मनोरंजन कॉल बाद में किया गया था, नष्ट होने के बाद यह काम असीमित रूप से पूरा हो गया था (इसलिए तत्काल मनोरंजन क्यों बंद कर दिया गया था)।

आंतरिक डेटा को नष्ट करने के सुझाव .data('tooltip',false) काम नहीं किया। सबसे पहले, बूटस्ट्रैप 3 के साथ, यह data('bs.tooltip, false) होगा और जब इसे कॉल किया गया था, तो टूलटिप वर्तमान में प्रदर्शित किया गया था, तो यह इसे रिसाव कर देगा और इसे स्थायी रूप से प्रदर्शित कर देगा। नया टूलटिप दोनों इसके ऊपर प्रदर्शित और छुपाएगा।

मेरे अंतिम समाधान था:

$x.tooltip('hide'); 
$x.data('bs.tooltip', false); 
$x.tooltip({ ... }) // recreate it 

ध्यान दें कि यह भी .attr('title', '...') और इसी तरह के समाधान के माध्यम से शीर्षक बदल रहा है और .tooltip('fixupTitle') बुला काम किया है - लेकिन placement विकल्प और संभावना भी अन्य विकल्प खारिज कर दिया है, और एक टूलटिप कर दिया कि मूल रूप से दाईं ओर तत्व के शीर्ष पर रखा गया था, क्योंकि यह मूल रूप से था।इस समाधान के अन्य बदलावों में देखा गया है कि इसमें ऊपर सूचीबद्ध कुछ अन्य बग भी हो सकती हैं, लेकिन मैंने और अधिक नहीं देखा।

संबंधित मुद्दे