繁体   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