我有以下代码,我尝试删除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");
});
答案 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>