我目前正在制作一个匹配两个应用程序(点击正方形,找到匹配的图片)我对其中的一部分有问题。禁用点击事件,因此在重置本身之前,无法单击某个正方形。我已经尝试过替换,但是问题是,即使我使用atter将ID放回进来,也不会再运行该事件。
html摘要:
<table border="1">
<tr>
<td id="" colspan="3">Lifes Remaining:</td>
<td id="lives"></td>
</tr>
<tr id="1to4">
<td class="a1" id="a1">0</td>
<td class="a2" id="a2">0</td>
<td class="a3" id="a3">0</td>
<td class="a4" id="a4">0</td>
</tr>
<tr>
<td colspan="4"><input type="button" id="press" value="Press" /></td>
</tr>
</table>
代码段:
var set1a = 1, set1b = 1, set2a = 2, set2b = 2;
var rand1 = 0;
var rand2 = 0;
var lives;
var savedData1 = "", savedData2 = "";
var check1 = "", check2 = "";
var idCheck1 = "", idCheck2 = "";
$(document).ready(function()
{
$("#lives").text("");
$("#press").click(function()
{
lives = 3;
$("#lives").text(lives);
for(var i = 1; i < 5; i++)
{$("#a"+i).text("0").css('color', 'black');}
i = 0;
<!-----------------Set Position--------------------------------->
do{rand1 = 1 + Math.floor(Math.random() * 4);}
while($("#a"+rand1).text() != 0)
$("#a"+rand1).text(set1a);
do{rand2 = 1 + Math.floor(Math.random() * 4);}
while($("#a"+rand2).text() != 0)
$("#a"+rand2).text(set1b);
do{rand1 = 1 + Math.floor(Math.random() * 4);}
while($("#a"+rand1).text() != 0)
$("#a"+rand1).text(set2a);
do{rand2 = 1 + Math.floor(Math.random() * 4);}
while($("#a"+rand2).text() != 0)
$("#a"+rand2).text(set2b);
<!-----------------Set Position--------------------------------->
});
$("#a1").click(function()
{
$(".a1").css('color', 'lightgreen');
if(check1 == "")
check1 = $("#a1").text();
else
check2 = $("#a1").text();
if(idCheck1 == "")
idCheck1 = "#a1";
else
idCheck2 = "#a1"
if(check1 && check2 != "")
{
if(check1 != check2)
{
$(".a1").css('color', 'black');
}
}
});
$("#a2").click(function()
{
$(".a1").css('color', 'lightgreen');
check1 = '1';
if(idCheck1 == "")
{
idCheck1 = "#a1";
}
else
idCheck2 = "#a1"
if(check1 && check2 != "")
{
$(".a1").css('color', 'black');
}
});
$("#a3").click(function()
{
});
$("#a4").click(function()
{
});
});
我需要在#a1-4点击函数中使用的东西,使我可以禁用点击的数字的点击函数,直到点击另一个数字,然后重新启用它。
之类的东西$("#a1").click(function()
{
if(check1 == "")
check1 = $("#a1").text();
else
check2 = $("#a1").text();
if(idCheck1 == "")
idCheck1 = "#a1";
else
idCheck2 = "#a1"
*Disable #a1 click function*
if(check1 && check2 != "")
{
if(check1 != check2)
{
$(".a1").css('color', 'black');
*Enable #a1 click function*
}
}
});
任何帮助都将被阐明,如果您需要任何澄清,请告诉我
Mike
$('#a1').unbind('click')
将删除点击事件侦听器。
http://api.jquery.com/unbind/
http://api.jquery.com/off/
https://stackoverflow.com/a/210345/5758328