ورود

View Full Version : مشکل در blur و focus و click



hamidrezawd
پنج شنبه 21 آذر 1398, 21:03 عصر
سلام
خسته نباشین
با اجازتون من دو تا سوال دارم .

سوال اول
به کد من نگاه کنین
من میخوام وقتی که روی کلاس h_search تابع blur اجرا شد :
منظورم کد زیر هستش
$('.h_search').blur(function(){

در این حالات :
وقتی که ماس روی کلاس h_search نیستش کد $('.h_search_res').hide(); اجرا بشه
یا
وقتی که ماس روی کلاس h_search هستش کد $('.h_search_res').hide(); اجرا نشه و منتظر بمونه وقتی که ماس از روی اون رفت اجرا بشه .
نمیدونم منظورمو تونستم برسونم یا نه .





$('.h_search').focus(function(){
$('.h_search_res').show();
})






$('.h_search').blur(function(){
$('.h_search_res').hide();
})






سوال دوم

به عکس پایین نگاه کنین .
151114

کد بالای من مربوط به همین تصویر است.
من یک input دارم ، همان جای سرچ من.
وقتی که ماس داخل input فوکوس و بلور میکنه کلاس h_search_res به خوبی باز و بسته میشه و نتایج حاصل از سرچ رو نشون میده
کلاس h_search_res همان باکس نتایج هستش .
موقع فوکوس باز میشه و موقع بلور بسته مبشه
باکس
تنها یک مشکل داره .

اونم این هستش که وقتی از روی input بولور میکنه ومیاد در باکس نتایج (همان کلاس h_search_res ) روی یک نتیجه کلیک کنه ، تابع blure اجرا میشه و باکس رو قبل از کلیک میبنده .
من میخوام وقتی که از input بلور کرد و روی کلاس h_search_res (باکس نتایج)کلیک کرد ، کلاس h_search_res (باکس نتایج) بسته نشه .
ولی به غیر از اون هرجای دیگه کلیک کرد باکس بسته بشه .
این مشکل رو چطوری حل کنم ؟

hamidrezawd
شنبه 23 آذر 1398, 07:47 صبح
سلام
تو سایت هایی مثل دیجی کالا و آپارات از چه روشی استفاده می کنن.
ممنون از لطفتون

plague
شنبه 23 آذر 1398, 15:00 عصر
blur , focus , ... تابع نیستن به اینا میگن رویداد

اگه درست متوجه شده باشم میتونی از رویداد های

https://www.w3schools.com/jquery/event_mouseover.asp
و
https://www.w3schools.com/jquery/event_mouseout.asp

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


برای مورد دوم
این کاری که شما میخای بکنی بهش میگن Autocomplete

میتونی از کتابخونه های آماده مکثل
https://jqueryui.com/autocomplete/
استفاده کنی

rezam1028
سه شنبه 06 آبان 1399, 11:59 صبح
سلام
تو سایت هایی مثل دیجی کالا و آپارات از چه روشی استفاده می کنن.
ممنون از لطفتون
سلام با چه زبانی کار میکنی اگر لاراول کار میکنی برو livewire یاد بگیر همه رو خودش انجام میده