请问一下,像下面这段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的方式