在 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");
- })