0

我想要实现的是改变玩家在 JQuery 游戏中的移动方式。
如果他们单击/鼠标按下文本,我试图让玩家移动,而不是按键,ID为“左”。

原始代码如下。

            if(jQuery.gameQuery.keyTracker[65]){ //this is left! (a)
                var nextpos = parseInt($("#player").css("left"))-5;
                if(nextpos > 0){
                    $("#player").css("left", ""+nextpos+"px");
                }
            }

我的代码如下,当我玩的时候,它只是不断地将玩家向左移动,而我没有按任何东西。它不应该向左移动,直到我在“左侧”id 文本上单击或鼠标按下。

            if ($('#left').mousedown){
                var nextpos = parseInt($("#player").css("left"))-5;
                if(nextpos > 0){
                    $("#player").css("left", ""+nextpos+"px");
                }
            }
4

1 回答 1

1

这个:

if ($('#left').mousedown){

永远都是真的。您正在检查是否$()有一个mousedown属性,它总是会因为所有 jQuery 对象都有一个mousedown方法。您可能想要绑定 mousedown 事件处理程序:

$('#left').mousedown(function(e) {
    //...
});
于 2011-08-30T03:33:20.390 回答