当用户双击DOM对象(例如按钮和链接等)时,对于用户交互一直是个麻烦的问题。 幸运的是, jQuery 提供了一个相当棒的解决方法。 那就是.one()。
它附加了一个元素事件的处理程序并且每个元素只能运行一次事件处理器函数。
.one( events [, selector ] [, data ], handler(eventObject) )
规定添加到元素的一个或多个事件。由空格分隔多个事件。必须是有效的事件。就像“click”和“keydown.myPlugin”一样。
$("#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."); });
上述代码关键在于:
$("#saveBttn").on("click", function (event) { alert("This will be displayed only once."); $(this).off(event); });
换句话说这和在绑定事件处理函数中显式调用off()作用是一样的
上面所提到的方法是jQuery 1.7的新特性,所以如果你的元素点击事件不止触发一次,这可能是个解决方案哦。多么神奇的方法啊,如有任何疑问请联系我。
本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接。 2KB翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。2KB项目(www.2kb.com,源码交易平台),提供担保交易、源码交易、虚拟商品、在家创业、在线创业、任务交易、网站设计、软件设计、网络兼职、站长交易、域名交易、链接买卖、网站交易、广告买卖、站长培训、建站美工等服务