[英]Call a jQuery function once
我正在嘗試在JS中創建一個類方法,其中一個動作必須只重復一次。 該方法是循環調用,我希望它方法移動一個字符並停止。 但是click事件會重復很多次,所以角色移動了大約40次,當我嘗試使用jQuery“one()”時它不起作用,它也是一樣的。
這就是我的函數(在永久循環中調用):
Player.prototype.pushBox = function() {
$(".box").click(function() { // The 'one()' doesn't resolve anything
console.log('coucou'); // This is printing 40 times
for (var i = 0; i < boxArray.length; i++) {
var box = boxArray[i];
if (box.id == player.id + moveHorizontal) {
$("#tile" + box.id).addClass('ground');
box.x += boxSize;
box.id += moveHorizontal;
player.x += boxSize; // So this is called 40 times
player.id += moveHorizontal;
}
}
});
}
也許你有40個帶有“box”類的對象,即使你使用了一個(),也會觸發click事件40次
$(".box").one('click', function() { console.log('sss'); });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div class="box"><div class="box"><div class="box">click</div></div></div>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.