博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用 jQuery 避免鼠标双击
阅读量:6463 次
发布时间:2019-06-23

本文共 1044 字,大约阅读时间需要 3 分钟。

 介绍  

  当用户双击DOM对象(例如按钮和链接等)时,对于用户交互一直是个麻烦的问题。 幸运的是, jQuery 提供了一个相当棒的解决方法。 那就是.one()。

  .one()这个方法是做什么的?

  它附加了一个元素事件的处理程序并且每个元素只能运行一次事件处理器函数。

 参数

  .one( events [, selector ] [, data ], handler(eventObject) )

  events

  类型: String

  • 规定添加到元素的一个或多个事件。由空格分隔多个事件。必须是有效的事件。就像“click”和“keydown.myPlugin”一样。

  选择器参数

  参数类型: String

  • 选择器字符串用于过滤出被选中的元素中能触发事件的子元素
  • 如果传null或者省略,当事件到达选定的元素时就会被触发

  数据

  参数类型: 任何类型

  • 该参数的值在事件触发将会传递给的事件处理函数

  事件处理函数

 参数类型:函数类型

  • 事件触发时应该调用的函数
  • false 也是允许的因为它就是简单return false;函数的简写形式

 举例

$("#saveBttn").one("click", function () {    alert("This will be displayed only once.");});

  或者

$("body").one("click", "#saveBttn", function () {    alert("This displays if #saveBttn is the first thing clicked in the body.");});

  上述代码关键在于:

  • 当代码执行结束时,点击id为saveBtn的元素将会弹出警告框
  • 之后的点击将没有任何反映
  • 这等同于 ==>
$("#saveBttn").on("click", function (event) {    alert("This will be displayed only once.");    $(this).off(event);});

  换句话说这和在绑定事件处理函数中显式调用off()作用是一样的

  了解更多请点击

  

 总结

  上面所提到的方法是jQuery 1.7的新特性,所以如果你的元素点击事件不止触发一次,这可能是个解决方案哦。多么神奇的方法啊,如有任何疑问请联系我。

  英文原文:

转载地址:http://ykhzo.baihongyu.com/

你可能感兴趣的文章
双拓扑排序 HDOJ 5098 Smart Software Installer
查看>>
三分 POJ 2420 A Star not a Tree?
查看>>
36.Node.js 工具模块--OS模块系统操作
查看>>
存储过程报错行提示
查看>>
第一篇markdown博文
查看>>
Leetcode 4 - median-of-two-sorted-arrays
查看>>
ERDAS软件应用(四)遥感影像数据增强
查看>>
修改OBS为仅直播音频
查看>>
完整版:《开源框架实战宝典电子书V1.0.0》内测版下载地址!
查看>>
OCA读书笔记(3) - 使用DBCA创建Oracle数据库
查看>>
CKEditor的使用-编辑文本
查看>>
HDU------checksum
查看>>
使用树莓派拍摄延时动画,制作GIF图
查看>>
css命名规范
查看>>
js 效果
查看>>
19.Java5同步集合类的应用
查看>>
<c:forEach varStatus="status">中 varStatus的作用
查看>>
Aqua Data Studio 数据库开发工具
查看>>
puppet来管理文件和软件包
查看>>
Python基础进阶之路(一)之运算符和输入输出
查看>>