Javascript 是否可以在JQuery中更改.click()函数?

Javascript 是否可以在JQuery中更改.click()函数?,javascript,jquery,Javascript,Jquery,如果我的页面标题中有一个.click()函数,是否可以稍后在页面中覆盖它 例如,如果标题中有此项: <script> $("document").ready(function() { $("a.lol").click(function () { alert("aaa"); }); }); </script> $(“文档”).ready(函数(){ $(“a.lol”)。单击(函数(){ 警报(“aaa”); }); }); 是否可以

如果我的页面标题中有一个.click()函数,是否可以稍后在页面中覆盖它

例如,如果标题中有此项:

<script>
$("document").ready(function() {
    $("a.lol").click(function () { 
        alert("aaa");
    });
});
</script>

$(“文档”).ready(函数(){
$(“a.lol”)。单击(函数(){
警报(“aaa”);
});
});
是否可以将
$(“a.lol”)
更改为通知其他内容,而不通知“aaa”?

您可以使用,然后添加一个新的处理程序“放回”

$("a.lol").unbind('click');
// Some code
$("a.lol").off("click")
$("a.lol").click(function () { 
    alert("ooo");
});
试试这个

$("document").ready(function() {
    $("a.lol").click(function () { // initially the click event
        alert("aaa");
    });
    $("a.lol").off('click');// off the click event
    $("a.lol").on('click',function () { // again bind new click event with on()
        alert("new click");
    });
});
阅读并使用

并加回使用

使用
$(“a.lol”).off('click')
删除所有单击处理程序。之后,您可以安装新的


对于较旧版本的jQuery,请使用
unbind()

是的,您必须使用删除当前处理程序,然后使用新处理程序再次调用click()

$("a.lol").unbind('click');
// Some code
$("a.lol").off("click")
$("a.lol").click(function () { 
    alert("ooo");
});

PS:根据您的用例,您可能会使用只触发处理程序一次,然后删除自身的方法

我的理解是off()不会删除添加了click()的处理程序。在文档中:“该.off()方法删除与.on()连接的事件处理程序。”@BrianStephens我刚刚尝试过它。对我来说很好。如果您将看到
。单击
只需在内部映射到
上(就像
一样。绑定
代理
)。@Blazemonger很高兴知道!我从不确定我是否正确地解释了文档。谢谢
// Some code
$("a.lol").off("click")
$("a.lol").click(function () { 
    alert("ooo");
});