在 jQuery 中,我们可以使用 one() 方法为元素添加一个“只触发一次”的事件。
语法:
type 是必选参数,它是一个字符串,表示事件类型。fn 也是必选参数,表示事件的处理函数。
举例
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<script src="js/jquery-1.12.4.min.js"></script>
<script>
$(function () {
$("#btn").one("click", function(){
alert("欢迎来到城东书院!");
})
})
</script>
</head>
<body>
<input id="btn" type="button" value="按钮" />
</body>
</html>
预览效果如图7-8所示。
分析在这个例子中,我们使用 one() 方法为按钮添加了一个只触发一次的 click 事件。第一次点击按钮后会弹出对话框,而第二次点击时就没有任何反应了,这是因为 click 事件已经被解除。
实际上,对于 one() 方法,我们可以使用 on() 和 off() 这两个方法模拟出来。
$("#btn").one("click", function(){
alert("欢迎来到城东书院!");
})
上面这段代码可以等价于:
$("#btn").on("click", function(){
alert("欢迎来到城东书院!");
$(this).off("click");
})