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