jquery中one()的用法
jquery中one()的用法一、jquery中one方法
one方法的功能是让所选定的元素绑定一个仅触发一次的处理函数,该方法与bind方法的参数一样,与bind方法的区别就是只对匹配元素的事 件处理执行一次,执行完之后,以后再也不会执行,当然重新发起web请求时它又会执行一次。
格式
$(selector).one(event,data,function)
说明
参数 | 描述 |
---|---|
event |
必需。规定添加到元素的一个或多个事件。 由空格分隔多个事件。必须是有效的事件。 |
data | 可选。规定传递到函数的额外数据。 |
function | 必需。规定当事件发生时运行的函数。 |
实例
$(function() {
function btn_Click() {
this.value = "abc123"
}
$("input").one("click", btn_Click); //绑定自定义事件
})
</script>
</head>
<body>
<input id="Button1" type="button" value="点击查看联系方式" class="btn" />
这个按钮只会在点第一次的时候有反应,再次点击就无反应了。
二、与.bind()的区别
.one()方法与.bind()类似,都是在dom树加载后,对元素的绑定,属于后期绑定。所不同的是,使用.one()绑定的事件处理程序在执行一次之后将自动取消绑定。
三、.one()与live()的区别
1、live( )方法将一个事件处理程序附加到与当前选择器匹配的所有元素(包含现有的或将来添加的)的指定事件上并返回jQuery对象。
2、live( )方法主要是能处理动态添加的元素,给那些后添加的元素也一样绑定事件。
3、当调用.bind()时,jQuery对象匹配的元素将被附加上事件处理程序,但以后添加的元素并不会被附加该事件处理程序,因此,还需要对这些 元素再次调用.bind()方法。
4、live 是先把事件绑定在document对象上面,通过事件冒泡,判断当前处于目标状态的元素是不是预绑定的那个元素对象,然后执行事件,属于前期绑定,元素可以是已存在的,也可以是动态添加的。