2012-08-07 14 views
7

स्टैक ओवरफ्लो पर this question के बाद, मैंने एक ट्विटर बूटस्ट्रैप पॉपओवर बनाया जो होवर पर लोड करता है। हालांकि, देरी का उपयोग नहीं किया जाता है, पॉपओवर तुरंत दिखाता है। यहां मेरा कोड है:ट्विटर बूटस्ट्रैप पॉपअप विलंब

$('body').delegate('.withajaxpopover', 'hover', function(event) { 
    if (event.type === 'mouseenter') { 
     var el=$(this); 
     $.get(el.attr('data-load'), function(d) { 
     el.popover({delay: { 
        show: 750, 
        hide: 100 
        }, 
        title: "MyTitle", 
        content: d}).popover('show', 
             {delay: { show: 750, hide: 100 }}); 
        }); 
    } else { 
        $(this).popover('hide'); 
    } 
}); 
$('body').delegate('.withajaxpopover', 'click', function(event) { 
    $(this).popover('hide'); 
}); 

देरी को केवल अनदेखा किया जाता है। मैं क्या कर सकता हूँ?

आपकी मदद या संकेतों के लिए धन्यवाद!

+3

क्या आप जानते हैं वह देरी 'मैन्युअल ट्रिगर प्रकार' पर लागू नहीं होती है? [डॉक्टर] (http://twitter.github.com/bootstrap/javascript.html#popovers) - और 'पॉपओवर (' शो ') करना मैन्युअल की तरह है। और किसी ऑब्जेक्ट को दूसरे पैरामीटर के रूप में पास करने से निश्चित रूप से कोई प्रभाव नहीं पड़ेगा। – Sherbrow

+2

नहीं, मुझे पहले यह नहीं पता था। लेकिन अगर मैं 'पॉपओवर (' शो ') का उपयोग नहीं कर रहा हूं, तो मैं पॉपओवर कैसे दिखा सकता हूं? – HombreFab

+1

देरी और पॉपओवर गड़बड़ कर रहे हैं ... [github मुद्दा] (https://github.com/twitter/bootstrap/issues/512)। क्या वह [jsfiddle] (http://jsfiddle.net/Sherbrow/ERY4S/) काम करेगा? – Sherbrow

उत्तर

7

एक समान समस्या थी, ओबीजे पर ध्यान केंद्रित करके इसे हल किया गया। कुछ इस तरह दिखाई चाहेंगे ...

$('#yourobj').popover({ 
    trigger: 'focus', 
    delay: 1000 
}).focus(); 

यहां तक ​​कि एक समय समाप्ति के साथ बेहतर, यदि आप एक मैनुअल ट्रिगर चाहते ..

setTimeout(function() { 
    $('#yourobj').popover('show'); 
}, 500); 

आशा है किसी और में मदद करता है ...

+0

'। फ़ोकस()' अब काम नहीं कर रहा है? – DavidScherer

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