删除点击事件



我目前正在制作一个匹配两个应用程序(点击正方形,找到匹配的图片)我对其中的一部分有问题。禁用点击事件,因此在重置本身之前,无法单击某个正方形。我已经尝试过替换,但是问题是,即使我使用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

相关内容

  • 没有找到相关文章

最新更新