لا يركز مكون الإكمال التلقائي jQuery على الحقل التالي الذي تم النقر عليه

StackOverflow https://stackoverflow.com/questions/609362

سؤال

أنا أستخدم Jörn Zaefferer البرنامج المساعد للإكمال التلقائي لـ jQuery الذي يعمل بشكل رائع، باستثناء خطأ صغير:إذا بدأ المستخدم في الكتابة في حقل واحد تم إرفاق الإكمال التلقائي به، ولكن بعد ذلك بينما لا يزال الاقتراح يظهر، فإنه ينقر على حقل إدخال آخر، يعود المؤشر مرة أخرى إلى الحقل مع الإكمال التلقائي.

هل هناك أي حلول لهذا، أم أن الطريقة تعمل إلى حد كبير؟لقد لاحظت أن الإكمال التلقائي لـ jQuery UI يفعل نفس الشيء.

هل كانت مفيدة؟

المحلول

ولقد كان نوع ما يكفي أن ننظر إلى رمز بالنسبة لك، غير تعليق هذا السطر:

// TODO provide option to avoid setting focus again after selection? useful for cleanup-on-focus
input.focus();

في jquery.autocomplete.js خط 583.

نصائح أخرى

والإصلاح هو:

وتعليق خارج خطوط 308-310 من النسخة تفكيك:

//if (wasVisible)
    // position cursor at end of input field
    //$.Autocompleter.Selection(input, input.value.length, input.value.length);

ومن منصبه لوكا، والتعليق خارج خط 510:

//input.focus();

وهذه على حد سواء بحاجة إلى أن علق بها لجعلها تعمل بشكل صحيح.

ماذا لو كان المستخدم يستخدم مفتاح Enter أو مفتاح TAB؟كيف يمكنني إيقاف البرنامج المساعد من ضبط التركيز في حقل الإدخال بعد ذلك؟هل نجحت في ذلك أيضًا، أم فقط عندما يستخدم المستخدم الماوس للاختيار من القائمة المنسدلة؟

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top