2

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

例如,如果我在标题中有这个:

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

是否可以更改$("a.lol")以提醒其他内容,而不是提醒“aaa”?

4

5 回答 5

5

尝试这个,

$("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");
    });
});

阅读on()off()

于 2013-10-07T15:58:25.147 回答
3

您可以使用.unbind()然后“放回去”添加一个新的处理程序。

$("a.lol").unbind('click');
于 2013-10-07T15:58:00.740 回答
1

使用.off()

$("a.lol").off('click');

并添加回使用.on()

$("a.lol").on('click',functionName);

或者

$("a.lol").on('click',function () { 
    //code here
});
于 2013-10-07T15:59:46.370 回答
0

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

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

于 2013-10-07T16:00:08.683 回答
0

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

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

PS:根据您的用例,您可能会使用one()仅触发一次处理程序,然后自行删除

于 2013-10-07T16:08:59.493 回答