簡體   English   中英

調用一次jQuery函數

[英]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> 

http://jsfiddle.net/g39dkn2t/1/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM