javascript - How to trigger a bootstrap popover on mouseover event -


मेरे पास पंक्ति के साथ एक HTML तालिका है जो दिखता है:

  & lt; tr & gt; & Lt; td & gt; & lt; इनपुट प्रकार = "चेकबॉक्स" नाम = "चेक []" मान = "265" & gt; & lt; / td & gt; & LT; टीडी & gt; 265 & lt; / टीडी & gt; & Lt; td & gt; कोई मैट & lt; / td & gt; & LT; टीडी & gt; http: //stackoverflow.com/< / टीडी & gt; & LT; टीडी & gt; नहीं & lt; / टीडी & gt; & LT; टीडी & gt; 0 & lt; / टीडी & gt; & LT; टीडी & gt; f79a8316891 & lt; / टीडी & gt; & Lt; / टीआर & gt;  

मैं एक jquery फ़ंक्शन बनाने की कोशिश कर रहा हूं जो एक बूटस्ट्रैप 2.32 पॉपओवर खोलता है यदि मैं इसे तालिका सेल में यूआरएल पर देता हूं। अब तक मेरे पास है:

  $ ("[data-bind = 'popover']")। Popover ({ट्रिगर: 'होवर', html: true, content: function () {return $ (यह) .डेटा ('सामग्री');}}); $ ('टीडी')। ('माउसओवर', फ़ंक्शन (ई) {var सामग्री = $ (यह)। Html (); यदि (contents.match ("^ http")) {console.log (सामग्री); This.innerHTML = '& lt; a href = "myreference.html" डेटा-बाइंड = "पॉपओवर"' + 'डेटा-सामग्री = "' + + + +" "& gt; लिंक & lt; / a & gt; 'console.log ( This.inner एचटीएमएल);}});  

इस का पॉपओवर भाग

पर आधारित है जब मैं तालिका में यूआरएल को माउसओवर करता हूं तो वह अपेक्षित रूप में एक पॉपओवर लिंक बनाता है हालांकि जैसे ही मैं उस पर माउस पकड़ता हूं, तब तक कोई पॉपअप तब तक नहीं होता जब तक कि मैं देख सकता हूं। कोड काम करता है, लेकिन यह popover ट्रिगर नहीं है

दिलचस्प है, मैंने

  और  

और यह एक popover के साथ काम कर रहा है। मैं सोच रहा हूँ अगर इस व्यवहार में कुछ आपरेशनों के क्रम में होता है क्योंकि DOM पहले सेट हो जाने के बाद Popover लिंक गतिशील रूप से बनाया गया है। क्या कोई मुझे यहां सलाह दे सकता है?

एक बूटस्ट्रैप पॉपओवर के लिए डिफ़ॉल्ट ट्रिगर एक 'क्लिक' ईवेंट है। आपने यहाँ क्या परिभाषित किया है" माउसओवर पर, यह देखने के लिए जांचें कि क्या मेरे माउस के अंतर्गत सामग्री एक लिंक है, और यदि हां, तो एक पॉपओवर को परिभाषित करें ", लेकिन आपकी समस्या यह है कि आपने पॉपओवर खोलने के लिए कभी भी ट्रिगर नहीं किया, तो आपने इसे सिर्फ इतना परिभाषित किया है कि यदि वह क्लिक करे, तो उसे खुल जाएगा।

इसे बदलें ...

  $ ('। Popover-markup')। Popover (...)  

इसे करने के लिए ...

  $ (यह)। पॉपओवर (...)  

इसलिए कि "& lt; td & gt;" पॉपओवर बन जाता है ( मैं 100% निश्चित नहीं हूं कि आप & lt; td & gt; एक पॉपओवर के रूप में, लेकिन ऐसा लगता है कि यह काम करना चाहिए )। फिर, अपने कोड के तुरंत बाद जो पॉपवर विकल्पों को परिभाषित करता है, आप एक "क्लिक" ईवेंट को ट्रिगर कर सकते हैं, या आप "शो" कमांड भेजकर इसे खोलने के लिए ट्रिगर कर सकते हैं। अंत में, आप "ट्रिगर" जोड़कर इसे खोलने के लिए ट्रिगर कर सकते हैं: पॉपओवर को परिभाषित करते समय अपने विकल्पों की सूची में "होवर" करें ... जो उपयोगकर्ता अब टीडी तत्व पर मँडरा नहीं होने के बाद इसे स्वतः-छिपा देगा।

  // ट्रिगर क्लिक करें $ (यह) .ट्रिगर ("क्लिक"); // ट्रिगर पॉवरोफर खुली (शायद बेहतर तरीका है) $ (यह)। पॉपओवर ("शो"); // ट्रिगर ऑन हॉवर $ (यह)। पॉपओवर ({... ट्रिगर: 'होवर',});  

तो सभी में ... $ ('टीडी')। पर ('माउसओवर', फ़ंक्शन (ई) {var content = $ ( यह)। Html (); यदि (सामग्री। मैच ("^ http")) {$ (यह)। Popover ({html: true, title: function () {return $ (this)। Parent ()। Find ( '.head')। Html ();}, सामग्री: फ़ंक्शन () {वापसी $ (यह)। Parent ()। ('। सामग्री') खोजें। Html ();}, कंटेनर: 'बॉडी', प्लेसमेंट: 'नीचे'}); // ट्रिगर पॉपओवर खोलने के लिए $ (यह)। पॉपओवर ("शो");}});


Comments

Popular posts from this blog

python - Overriding the save method in Django ModelForm -

html - CSS autoheight, but fit content to height of div -

qt - How to prevent QAudioInput from automatically boosting the master volume to 100%? -