移除点击并将其添加回

时间:2017-02-28 18:43:36

标签: jquery onclick

我有以下代码,我尝试删除click事件并将其添加回去,但似乎只是将其删除。

有什么想法吗?

https://jsfiddle.net/hL38v50o/

$("p").on("click", function(){
    $(this).css("background-color", "pink");
});
$("#btn1").click(function(){
    $("p").off("click");
});
$("#btn2").click(function(){
    $("p").on("click");
});

1 个答案:

答案 0 :(得分:0)

您无法仅使用$("p").on("click")添加点击。你必须这样做。

function clickFunction () {
    $(this).css("background-color", "pink");
}

$("p").on("click", clickFunction);

$("#btn1").click(function() {
    $("p").off("click");
});

$("#btn2").click(function() {
    $("p").on("click", clickFunction);
});

完整代码:

function clickFunction () {
    $(this).css("background-color", "pink");
}

$("p").on("click", clickFunction);

$("#btn1").click(function() {
    $("p").off("click");
});

$("#btn2").click(function() {
    $("p").on("click", clickFunction);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p>Click this paragraph to change its background color.</p>
<p>Click the button below and then click on this paragraph (the click event is removed).</p>

<button id="btn1">Remove the click event handler</button>
<button id="btn2">Add the click event handler</button>