jQuery one() 方法

jQuery 事件

one()方法为所选元素附加一个或多个事件处理程序。

这也附加了事件发生时要运行的功能。

该方法命名为one,因为任何附加到该方法的事件处理程序对于每个元素都只会运行一次

语法:

$(selector).one(event, data, function)

实例

将click事件附加到所有<p>元素(该事件仅对每个<p>元素触发一次):

$("p").one("click", function(){
  $(this).animate({fontSize: "+=5px"});
});
测试看看‹/›

显示one()方法和on()方法之间的区别:

$(document).ready(function(){
  $("#para-1").one("click", myFunc);
  $("#para-2").on("click", myFunc);
});
测试看看‹/›

向所有<p>元素添加多个事件处理程序:

$("p").one("click dblclick", function(){
  $(this).animate({fontSize: "+=5px"});
});
测试看看‹/›

将数据传递给函数:

$(document).ready(function(){
  $("p").one("click", {msg: "你刚刚点击我!!!"}, showMsg)
});

function showMsg(event) {
  $(this).append(event.data.msg);
});
测试看看‹/›

参数值

参数描述
event指定一个或多个以空格分隔的事件
data(可选)指定要传递给函数的其他数据
注意:如果将数据参数提供给one()方法,则在触发事件时将其传递给event.data属性中的处理程序。
function触发事件时执行的功能

jQuery 事件