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

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

دوستان من با جاوااسکریپت یک 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 هم استفاده کرد ولی بازم این گزینه منتفیه

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

ممنون

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

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

0 رأی
1 جواب میانگین بازدید روزانه 0.2277 بازدید
0 رأی
1 جواب میانگین بازدید روزانه 0.0974 بازدید
0 رأی
1 جواب میانگین بازدید روزانه 0.0866 بازدید
0 رأی
1 جواب میانگین بازدید روزانه 0.0886 بازدید
0 رأی
1 جواب میانگین بازدید روزانه 0.42429 بازدید
0 رأی
1 جواب میانگین بازدید روزانه 0.16183 بازدید
0 رأی
1 جواب میانگین بازدید روزانه 0.33449 بازدید
0 رأی
2 جواب میانگین بازدید روزانه 0.09131 بازدید
0 رأی
3 جواب میانگین بازدید روزانه 0.1158 بازدید
0 رأی
0 جواب میانگین بازدید روزانه 0.0351 بازدید
کانال تلگرام جواب یاب
...