Javascript 如何删除元素';s事件处理程序并将其设置回原位?

Javascript 如何删除元素';s事件处理程序并将其设置回原位?,javascript,jquery,Javascript,Jquery,我正在学习JQuery,并且面临一些问题 <html> <head> <link rel="stylesheet" href="css/puzzle.css" type="text/css" /> <script src="scripts/jquery.js" type="text/javascript"></script> <script src="scripts/test

我正在学习JQuery,并且面临一些问题

<html>
    <head>
        <link rel="stylesheet" href="css/puzzle.css" type="text/css" />
        <script src="scripts/jquery.js" type="text/javascript"></script>
        <script src="scripts/test.js" type="text/javascript"></script>
    </head>
    <body>
        <div id="parent">
            <a href="#" class="link1">link1</a>
            <a href="#" class="link2">link2</a>
            <a href="#" class="link3">link3</a>
        </div>
    <body>
</html>

$(
    function() {        
        $("#parent").on("click", "a", function() {
            linkClick(this);
        });

        function linkClick(link) {            
            $("#parent a").first().off("click");
            console.log(link);
        }
    }
)

$(
函数(){
$(“#父项”)。在(“单击”,“a”,函数()上){
点击链接(这个);
});
函数链接单击(链接){
$(“#父级a”).first().off(“单击”);
控制台日志(链接);
}
}
)
问题1:当用户单击其中一个链接时,我是否可以删除该链接的事件haneler

问题2:如果问题1已被删除,我是否可以将onclick事件处理程序添加回“指定链接”,而不影响其他链接

谢谢你的阅读

==

我尝试使用$(“#父级a”).first().off(“单击”)取消绑定第一个链接的事件处理程序。 但无论我点击第一个链接多少次,这个控制台仍然会打印数据

如何删除链接的事件处理程序,然后在几秒钟内将其重新添加?

使用
off

删除事件:

$( "#parent a").first().off( "click" );
添加事件:

$( "#parent a").first().on( "click", function(){
   //click event code
 })
使用:


谢谢。用“开”和“关”代替“绑定”和“解除绑定”总是一个很好的练习。对不起,我已经修改了我的问题。如果不是第一个链接,而是由用户指定(随机选择),我该怎么办?现在有什么问题。使用第n个子选择器而不是第一个来对其他锚定标记执行相同的操作。所以…当用户单击链接时,我必须找到链接的位置并将其关闭,就像这样$(“#父a”).eq(第n个).off(“单击”);
 //Remove click event for first element

 $( "#parent a").first().off("click");

 //Bind new event to element:

 $( "#parent a").first().bind('click',function(){
  //click event code
 })