jquery中one()的用法

jquery中one()的用法

一、jquery中one方法

one方法的功能是让所选定的元素绑定一个仅触发一次的处理函数,该方法与bind方法的参数一样,与bind方法的区别就是只对匹配元素的事 件处理执行一次,执行完之后,以后再也不会执行,当然重新发起web请求时它又会执行一次。

格式

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

说明

参数 描述
event

必需。规定添加到元素的一个或多个事件。

由空格分隔多个事件。必须是有效的事件。

data 可选。规定传递到函数的额外数据。
function 必需。规定当事件发生时运行的函数。

实例

  •  
  •  
  • JScript 代码   复制
  • 
          $(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对象上面,通过事件冒泡,判断当前处于目标状态的元素是不是预绑定的那个元素对象,然后执行事件,属于前期绑定,元素可以是已存在的,也可以是动态添加的。

    标签: