2012-10-17 17 views
5

पर शीर्ष पर स्क्रॉल करता है मैंने अपने बैकऑफिस इंटरफेस में mCustomScrollbar प्लगइन को कार्यान्वित किया है। यह बढ़िया काम करता है। लेकिन मेरे रूपों में से एक में, मेरे पास एक शहर क्षेत्र है जिसे स्वतः पूर्ण करने की आवश्यकता है।jquery autocomplete mcustomScrollbar को

स्वत: पूर्ण भी ठीक काम करता है। लेकिन जब मैं स्वत: पूर्ण स्रोत डेटा से किसी आइटम का चयन करता हूं, तो mCustomScrollbar प्लगइन स्वचालित रूप से मुझे स्क्रॉलिंग सामग्री के शीर्ष पर लाता है और आइटम को वास्तव में चयनित करने के लिए मुझे दूसरी बार क्लिक करना होगा।

यह मैं कैसे स्क्रॉलबार प्लगइन लागू किया है:

$('#mainContent').mCustomScrollbar({ 
     set_height: height, 
     scrollInertia: 500, 
     scrollEasing: "easeInOutQuad", 
     mouseWheel: 20, 
     autoDraggerLength: true, 
     advanced: { 
      updateOnBrowserResize: true, 
      updateOnContentResize: false 
     } 
    }); 

और यह कैसे मैं स्वत: पूर्ण लागू किया है:

el.autocomplete({ 
    source: function (request, response) { 
     $.ajax({ 
      url: activityAutocomplete, 
      dataType: "json", 
      data: request, 
      success: function (data) { 
       if (data.length == 0) { 
        data.push({ 
         label: "Pas de résultat" 
        }); 
       } 
       response(data); 
      } 
     }); 
    }, 
    //If overflow edge of window, the autocomplete flips to top of input 
    position: { collision: "flip" }, 
    autofocus: true, 
    delay: 150, 
    minLength: 1, 
    select: function (event, ui) { 
     //ui.hide(); 
     //The following code resizes the input by bluring it. 
     setTimeout(function() { el.autoGrowInput(); }, 50); 


    }, 
    appendTo: '#autocomplete-tb-city-' + el.parents('.item').attr('id') 
}); 

मैं तुम गलत यहाँ कुछ मिल जाएगा उम्मीद है, मैं किया गया है इस पर 3 दिनों की तरह काम करना!

संपादित करें: यह जेनरेट किया गया स्वत: पूर्ण मार्कअप है।

<ul class="ui-autocomplete ui-menu ui-widget ui-widget-content ui-corner-all" role="listbox" aria-activedescendant="ui-active-menuitem"> 
    <li class="ui-menu-item" role="menuitem"><a class="ui-corner-all" tabindex="-1">Angers</a</li> 
    <li class="ui-menu-item" role="menuitem"><a class="ui-corner-all" tabindex="-1">Amiens</a</li> 
</ul> 

मुझे कुछ महत्वपूर्ण जोड़ना चाहिए: यह मुझे सीधे क्लिक पर शीर्ष पर लाता है !!

धन्यवाद।

उत्तर

2

मैं स्वत: पूर्ण के साथ एक ही मुद्दा का सामना करना पड़ रहा था। किसी भी स्वत: पूर्ण आइटम का चयन विंडो को शीर्ष पर स्क्रॉल करता है।

मैंने आपकी टिप्पणी here देखी, और मुझे लगता है कि आपको समाधान मिला है।

उपरोक्त लिंक में उल्लिखित संकेत का उपयोग करके, मैं mcustomscrollbar.js कोड के माध्यम से गया और बस 533 और 534 लाइनों पर टिप्पणी की और यह मेरे लिए काम करता है।

संकेत के लिए धन्यवाद। चीयर्स !!

+0

हाँ यह मेरे लिए भी काम करता है :)। – aztuk

+0

यह अच्छा है, अच्छा :) – varunvlalan

0

एक एंकर से संबंधित समस्या हो सकती है? स्वतः पूर्ण होने के लिए जेनरेट किए गए आइटम पर href क्या है? यह सहायक होगा यदि आप जेनरेट किए गए ऑटो-पूर्ण के एचटीएमएल मार्कअप प्रदान कर सकते हैं।

शायद यह (परीक्षण नहीं) जोड़ने का प्रयास करें ...

$([auto-complete suggestions]).live("click", function(e){ 
e.preventDefault(); 
}); 
+0

मैंने कोशिश की है कि, आइटम का चयन नहीं रह गया काम करता है और यह अभी भी शीर्ष पर मुझे लाता है। – aztuk

+0

क्या आप कहीं भी समस्या अपलोड कर सकते हैं जहां हम जांच सकते हैं? – zeddotes

+0

मैं स्थानीय नेटवर्क पर काम कर रहा हूं, मैं इसे कैसे अपलोड कर सकता हूं? मैंने इसे jsFiddle पर काम करने की कोशिश की लेकिन प्लगइन माइम प्रकार की वजह से इस पर भी काम नहीं करता है ... – aztuk

9

कस्टम scrollbars का एक नया संस्करण एक उन्नत विकल्प autoScrollOnFocus है।

उदाहरण:

 $($element).find('> .scrollbars').mCustomScrollbar({ 
      horizontalScroll: false, 
      autoDraggerLength: true, 
      autoHideScrollbar: true, 
      advanced:{ 
       autoScrollOnFocus: false, 
       updateOnContentResize: true, 
       updateOnBrowserResize: true 
      } 
     }); 
+1

सेटिंग 'autoScrollOnFocus: false' ने इस प्लगइन फ़ील्ड फोकस त्रुटि के साथ अपने मुद्दों को हल किया। –

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