解析jQuery的三种bind/One/Live事件绑定使用方法

 更新时间:2013年12月30日 09:30:44   作者:  
本篇文章主要是对jQuery的三种bind/One/Live事件绑定使用方法进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助

jQuery是 一款优秀的JavaScript框架,在旧版里主要用bind()方法,在新版里又多了两种One(),Live(),下面介绍这几种方法的使用:

1. bind/Unbind
在jquery的事件模型中,有两个基本的事件绑 定函数,bind与unbind,这两个函数的含义就是匹配页面元素进行相关事件的处理。比如我们在JS中经常使用到的 onfocus,onblur,onmouseover,onmousedown等事件都可以作为bind的参数进行传递。

$("#id").bind('click',function(){alert('tt!')});

其中bind的第一个参数代表的含义是:事件类型(注意不需要加on),function中的代码就是你要执行的逻辑 代码
多个事件绑定:bind还允许你绑定多个事件,事件名字之间用空格隔开,例如:

$('a').bind('click mouseover',function(){

在最新的jquery1.4版本中,对bind方法进行了改进,你可以在bind方法传入一个类JSON对象来一次绑定多 个事件处理函数。

$('a').bind({
click:function(){alert('a');},
mouseover:function(){alert('a again!')}


在function函数中,你还可以通过传递一个javaScript对 象给function方法,这个事件对象通常是可以省略的。
bind中还有一个参数data, 该参数一般情况下很少使用,通常为了解决在同一个方法中处理同一个变量时有很好的处理。

var productname="Sports Shoes";
$('#Area').bind('click',function(){
alert(productname);
});

productname="necklace",
$('#Area').bind('click',function(){
alert(productname);
});


由于变量productname被重新赋值,所以输出的消息都是”necklace”,这里不了解可以去查阅下关于JavaScript的变量作用域,要 解决这个问题就必须使用到data参数,

var productname="Sports Shoes";
$('#Area').bind('click',{pn:productname},function(){
alert(event.data.pn);
});
productname="necklace",
$('#Area').bind('click',{pn:productname},function(){
alert(event.data.pn);
});


2. One
为每一个匹配元素的特定事件(像click)绑定一个一次性的事件处理函数。该方法与bind方法的参数一样,与bind方法的区别就是只对匹配元素的事 件处理执行一次,执行完之后,以后再也不会执行,当然重新发起web请求时它又会执行一次。

$('a').one('click',function(){
alert('a');
})

单击页面上的a元素后,弹出消息,除非用户发起第二次请求,否则再次点击a元素不会弹出消息对话框。


3. live
该方法主要是能处理动态添加的元素,给那些后添加的元素也一样绑定事件。

$('a').live('click,function(){
alert('show message!');
})

然后如果我添加一个元素,

$('body').appnend('Another Element');

那么该元素也会被触发事件处理函数alert。
另外,jQuery还提供了一些绑定这些标准事件类型的简单方式,比如.click()用于简化.bind(‘click')。


一共有以下这些事件名称:blur, focus, focusin, focusout, load, resize, scroll, unload, click, dblclick, mousedown, mouseup, mousemove, mouseover, mouseout, mouseenter, mouseleave, change, select, submit, keydown, keypress, keyup, error 等。

相关文章

  • 基于jQuery的为attr添加id title等效果的实现代码

    基于jQuery的为attr添加id title等效果的实现代码

    下面的例子是通过jquery为连接增加title描述的代码,在当前页的连接上写上,你好,现在在试验连接文字的简单描述。
    2011-04-04
  • 高效的jQuery代码编写技巧总结

    高效的jQuery代码编写技巧总结

    好的代码会带来速度的提升,快速渲染和响应意味着更好的用户体验。本文主要总结了如何高效的编写jQuery代码的技巧,对提升你的jQuery和javascript代码具有很好的参考价值,下面跟着小编一起来看下吧
    2017-02-02
  • jQuery on方法传递参数示例

    jQuery on方法传递参数示例

    这篇文章主要介绍了jQuery on方法传递参数示例,本文给出了一个传递3个参数的例子,需要的朋友可以参考下
    2014-12-12
  • jquery淡入淡出效果简单实例

    jquery淡入淡出效果简单实例

    这篇文章主要介绍了jquery淡入淡出效果简单实现方法,以完整实例形式分析了jQuery中fadeIn及fadeOut实现淡入淡出的相关技巧,需要的朋友可以参考下
    2016-01-01
  • Jquery判断IE6等浏览器的代码

    Jquery判断IE6等浏览器的代码

    jquery中利用navigator.userAgent.indexOf来判断浏览器类型,并进行了一下处理,如果不想使用jquery,稍为修改下代码就可以为自己所用
    2011-04-04
  • jQuery实现表单验证

    jQuery实现表单验证

    这篇文章主要为大家详细介绍了jQuery实现表单验证,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-06-06
  • BootStrap中jQuery插件Carousel实现轮播广告效果

    BootStrap中jQuery插件Carousel实现轮播广告效果

    轮播广告在网站中的应用实在是太常见了,下面说一说怎样使用bootstrap中的Carousel插件来实现轮播广告效果,感兴趣的朋友一起看看吧
    2017-03-03
  • 页面加载完成后再执行JS的jquery写法以及区别说明

    页面加载完成后再执行JS的jquery写法以及区别说明

    本篇文章主要是对页面加载完成后再执行JS的jquery写法以及区别进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助
    2014-02-02
  • 详解jQuery uploadify文件上传插件的使用方法

    详解jQuery uploadify文件上传插件的使用方法

    本文主要介绍了jQuery uploadify文件上传插件的使用方法,uploadify这个插件是基于js里面的jquery库写的。结合了ajax和flash,实现了这个多线程上传的功能。具有很好的参考价值,需要的朋友一起来看下吧
    2016-12-12
  • jQuery.Highcharts.js绘制柱状图饼状图曲线图

    jQuery.Highcharts.js绘制柱状图饼状图曲线图

    这篇文章主要介绍了jQuery.Highcharts.js绘制柱状图饼状图曲线图的方法,非常的实用,小伙伴们可以直接拿到项目中使用。
    2015-03-03

最新评论