مشکل در onblur و autocomplete در جاوااسکریپت

0 رأی
میانگین بازدید روزانه 0.0680 بازدید

دوستان من با جاوااسکریپت یک autocomplete درست کردم ولی واسه یه قسمتش مشکل دارم

یک لیست ul داریم که display : none هست

یک input داریم که وقتی کاربر شروع به تایپ میکنه (onKeyUp) لیست ul با توجه به تکست واسش باز میشه (display : block)

وقتی کاربر روی یکی از گزینه ها li کلیک میکنه متن li داخل input میشینه و ul مجددا display : none میشه

حالا یه مشکلی هست وقتی کاربر چیزی مینویسه ولی روی هیچ گزینه ای از li ها کلیک نمیکنه (onClick) و فوکوس از input به یک المنت دیگه داده میشه لیست (ul) باز میمونه (display : block) چون وقتی li کلیک میخوره ul خاصیت display:none میگیره

اومدم خاصیت onBlur تکس باکس رو تعریف کردم که ul -> display : none ; ولی یه مشکل دیگه پیش میاد اونم اینه حالا اگر کاربری بخواد روی یک li کلیک کنه قبل از انجام کلیک لیست بسته میشه چون تکس باکس فوکوس رو از دست میده و لیست رو میبنده

چطوری میشه این مشکل رو حل کرد

قبلش یه نکته ای بگم که کد فقط با جاوا اسکریپت هست نه جی کوئری

پس کد جی کوئری به دردم نمیخوره و اینم میدونه که میشه autocomplete رو با جی کوئری براحتی انجام داد ولی بنا به احتیاج فقط از جاوااسکریپت میتونم استفاده کنم

نکته دیگه اینکه بازم میدونم که میشه از تگ datalist هم استفاده کرد ولی بازم این گزینه منتفیه

اینا رو گفتم که جواب ها مرتبط باشن

ممنون

سوال 3 سال قبل در تالار برنامه نویسی توسط IMANAZADI (72 امتیاز)
ویرایش 3 سال قبل توسط Saeed Zarinfam

سوال های مشابه

+1 رأی
1 جواب میانگین بازدید روزانه 0.7425 بازدید
0 رأی
1 جواب میانگین بازدید روزانه 0.16117 بازدید
0 رأی
1 جواب میانگین بازدید روزانه 0.09106 بازدید
0 رأی
1 جواب میانگین بازدید روزانه 0.0791 بازدید
0 رأی
1 جواب میانگین بازدید روزانه 0.08112 بازدید
0 رأی
1 جواب میانگین بازدید روزانه 0.42588 بازدید
0 رأی
1 جواب میانگین بازدید روزانه 0.14214 بازدید
0 رأی
1 جواب میانگین بازدید روزانه 0.41703 بازدید
0 رأی
2 جواب میانگین بازدید روزانه 0.08144 بازدید
0 رأی
3 جواب میانگین بازدید روزانه 0.11211 بازدید
کانال تلگرام جواب یاب
...