one(type, [data], fn)
概述
为每一个匹配元素的特定事件(像click)绑定一个一次性的事件处理函数。
在每个对象上,这个事件处理函数只会被执行一次。其他规则与bind()函数相同。这个事件处理函数会接收到一个事件对象,可以通过它来阻止(浏览器)默认的行为。如果既想取消默认的行为,又想阻止事件起泡,这个事件处理函数必须返回false。
多数情况下,可以把事件处理函数定义为匿名函数(见示例一)。在不可能定义匿名函数的情况下,可以传递一个可选的数据对象作为第二个参数(而事件处理函数则作为第三个参数),见示例二。
参数
typeString事件类型
data (可选)Object作为event.data属性值传递给事件对象的额外数据对象
fnFunction绑定到每个匹配元素的事件上面的处理函数
示例
描述:
当所有段落被第一次点击的时候,显示所有其文本。
jQuery 代码:
$("p").one("click", function(){
alert( $(this).text() );
});
定义一个初始状态:
var objstats = -1;
$(selector).click(function(){
if(objstats == -1){ //如果状态值为-1就执行
Do something..... //该干啥干啥
objstats = 1; //随意改变一下状态值
}
});
联想到支付宝的第一行代码:
define('PAY_OK', -1)
也得把问题说清楚啊?