請問一下,像下面這段code,當使用者點擊連結時
有辦法把被點擊連結的event handler移除,然後再把它加回去嗎?
<html>
<head>
<link rel="stylesheet" href="css/puzzle.css" type="text/css" />
<script src="scripts/jquery.js" type="text/javascript"></script>
<script src="scripts/test.js" type="text/javascript"></script>
</head>
<body>
<div id="parent">
<a href="#" class="link1">link1</a>
<a href="#" class="link2">link2</a>
<a href="#" class="link3">link3</a>
</div>
<body>
</html>
==
$(
function() {
$("#parent").on("click", "a", function() {
linkClick(this);
});
function linkClick(link) {
$(link).off("click"); //試過這樣關閉,但不成功
console.log(link);
}
}
)
換句話說,怎麼樣在linkClick裡把link的on click event handler關閉,
甚至在一段時間之後再把它加回來呢?
煩請大家幫忙解答,謝謝。
==
補充一下好了:
像
$("a").on("click", function() {
linkClick(this);
});
function linkClick(link) {
console.log(link);
$(link).off("click");
}
這樣的話每個連結都只會在印出資料之後就關閉onclick事件,
換句話說只允許被點擊一次。
然後這次的問題只是把code改成:
$("#parent").on("click", "a", function() {
linkClick(this);
});
function linkClick(link) {
console.log(link);
$(link).off("click");
}
這樣就關不掉了 ~"~
於是想請問像問題中正確移除event handler的方式