سلام من نقشه رو جوری طراحی کردم که وقتی روش کلیک بشه یه دایره بکشه و تموم مکان های ثبت شده رو توی اون دایره نشون بده و event دابل کلیک رو ست کردم برای افزودن مکان و باز کردن مدال ولی الان مشکل اینه که event کلیک اجرا میشه و به دابل کلیک نمیرسه و مانعش میشه سوالم اینه که راه حلی وجود داره که بشه یه تاخیری ایجاد کرد تا کاربر بتونه دابل کلیک کنه و event کلیک جلوشو نگیره؟
خیلی گشتم و نتونستم راه حلی پیدا کنم خیلی ممنون
سلام و احترام
میتونید از setTimeOut استفاده کنید و یه زمان براش تعیین کنید که توی مثال پایین نوشته 200 میلی ثانیه (برای click)، ینی بعد از 200 میلی ثانیه اون event اونجا قابل اجرا شدنه
map.on('click', function(event) {
if (_dblClickTimer !== null) {
return;
}
_dblClickTimer = setTimeout(() => {
// real 'click' event handler here
_dblClickTimer = null;
}, 200);
})
.on("dblclick", function() {
clearTimeout(_dblClickTimer);
_dblClickTimer = null;
// real 'dblclick' handler here (if any). Do not add anything to just have the default zoom behavior
})
حالا یه تابع دیگه استفاده شده به اسم clearTimeOut این تابع جلوگیری میکنه از اجرای event بالایی که click بود.
حالا شما میتونید طبق چیزی که میخواید این کد رو شخصی سازی کنید و ازش استفاده کنید