2017-05-05 48 views
-1

我想添加用于导航到我的游戏的鼠标控件。我在屏幕上创建了一些按钮,如下所示:试图让鼠标控件在JQuery中使用.on(点击)

<input type="image" id= "buttonUp" src="UpButton.jpg" alt="Up" style="position:absolute; left: 200px; top: 550px;"> 
<input type="image" id= "buttonDown" src="DownButton.jpg" alt="Down" style="position:absolute; left: 200px; top: 650px;"> 
<input type="image" id= "buttonLeft" src="LeftButton.jpg" alt="Left" style="position:absolute; left: 100px; top: 650px;"> 
<input type="image" id= "buttonRight" src="RightButton.jpg" alt="Right" style="position:absolute; left: 300px; top: 650px;"> 

每一个显然对应于每个移动方向。然后从那里我试图让他们触发点击时:

$('.buttonUp').on('click', function() { 
    direction == "up"; 
}); 
$('.buttonDown').on('click', function() { 
    direction == "down"; 
});  
$('.buttonLeft').on('click', function() { 
    direction == "left"; 
});  
$('.buttonRight').on('click', function() { 
    direction == "right"; 
}); 

但它不会做任何事情时单击。我怎样才能解决这个问题?

+2

首先你使用类选择,当你的元素有ID。将'.'更改为'#'。然后你需要使用'='来设置一个变量。 '=='用于检查相等性。但是,即使只是设置一个变量,你期望它做什么?你的代码似乎没有做别的。 –

+0

您正在通过'class'分配事件,但输入元素没有。你应该用ID来做,比如'$('#buttonUp')'。 – doutriforce

+0

而您正在使用比较来设置值。永远不会工作。使用=而不是== – Snowmonkey

回答

1

为了给变量赋值,你必须使用一个equals符号,而不是像你在代码中那样做两个符号来比较值。将所有==更改为=

而且使用的是类选择.,但你应该使用id选择#

0

假设你的方向逻辑已经被编码,你必须改变=====仅供比较。使用=将值等于direction

而且,您在HTML代码中使用了ID,但是在脚本中使用了类选择器。

1

现在,您正在以各种方式复制代码。您正在使用类选择器来通过id获取元素。并且您正在使用相等比较来尝试设置值。相反,我有一个连接到所有控件的函数,并使用控件的alt值设置方向。见下文。

var direction; 
 
$('.control-btn').on('click', function() 
 
    { 
 
     direction = $(this).attr("alt").toLowerCase(); 
 
     console.log(direction); 
 
    });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input type="image" id= "buttonUp" class="control-btn" src="UpButton.jpg" alt="Up" style="position:absolute; left: 200px; top: 50px;"> 
 
    <input type="image" id= "buttonDown" class="control-btn" src="DownButton.jpg" alt="Down" style="position:absolute; left: 200px; top: 150px;"> 
 
    <input type="image" id= "buttonLeft" class="control-btn" src="LeftButton.jpg" alt="Left" style="position:absolute; left: 100px; top: 150px;"> 
 
    <input type="image" id= "buttonRight" class="control-btn" src="RightButton.jpg" alt="Right" style="position:absolute; left: 300px; top: 150px;">