سلام من توی event onmouseover ی متد رو صدا میزنم ک از ی api استفاده میکنه
اما وقتی موس رو روش میبرم حداقل سه بار درخواست رو به api میده بعدشم ارور too many request میاد
ممنون میشم کمکم کنید
در Vuejs هم اگر به شکل زیر پیادهسازی کنید.. هر بار که Mouse روی المان موردنظر میره تنها یکبار تابع شما (مثلا ارسال درخواست به api) اجرا میشه.
HTML:
<div id="mouse">
<a v-on:mouseover.once="mouseover"></a>
</div>
VUE:
new Vue({
el: '#mouse',
data: {
message: 'Hover Me!'
},
methods: {
mouseover: function(){
console.log(1)
// api request will be sent once
}
}
})
فکر کنم یادتون رفت کدهاتون رو هم قرار بدین که دوستان بتونند بررسی کنند علت ایجاد مشکل تون رو.
سلام
@ho3einmolavi00
رویدادشو عوض کنید
onclick کنید! که لااقل کلیک زده بشه ، با اینور اونور رفتن موس زیاد کاری نکنه
یا محدوده براش تعریف کنید
درود
در jquery میشد از متد One استفاده کرد:
$('element').one('mouseover', function() { /* ajax */ });
یه راه دیگه هم استفاده از event های دیگه هست.. مثلا mouseEnter و mouseLeave :
$('element').mouseenter(function() {
/* Make request, do */
});
$('element').mouseleave(function() {
/* undo */
});
در جاوااسکریپت مدرن هم به شکل زیر استفاده میشه:
node.addEventListener("mouseover", function() {
// api request
}, {once : true});
در Vuejs هم اگر به شکل زیر پیادهسازی کنید.. هر بار که Mouse روی المان موردنظر میره تنها یکبار تابع شما (مثلا ارسال درخواست به api) اجرا میشه.
HTML:
<div id="mouse">
<a v-on:mouseover.once="mouseover"></a>
</div>
VUE:
new Vue({
el: '#mouse',
data: {
message: 'Hover Me!'
},
methods: {
mouseover: function(){
console.log(1)
// api request will be sent once
}
}
})
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟