码迷,mamicode.com
首页 > Web开发 > 详细

jquery bind 方法一个特点(绑定多个方法到一个dom的某个事件)

时间:2015-05-13 10:34:56      阅读:217      评论:0      收藏:0      [点我收藏+]

标签:jquery   前端   

目录:
[TOC]

jquery bind方法介绍

  • 方法声明:bind(type,[data],fn)
  • 方法说明:为每一个匹配元素的特定事件(eg:click)绑定一个事件处理器函数。这个事件处理函数会通过参数方式接收到一个事件对象,可以通过它来阻止(浏览器)默认的行为。如果既想取消默认的行为,又想阻止事件起泡,这个事件处理函数必须返回false。
  • 技巧:多数情况下,可以把事件处理器函数定义为匿名函数。

参数意义

  • type (String) : 事件类型。
  • data (Object) : (可选) 作为event.data属性值,然后event会被传递给事件处理函数,data可以从event中获取到。
  • fn (Function) : 绑定到每个匹配元素的事件上的处理函数。

示例

当每个段落被点击的时候,弹出其文本:

$("p").bind("click", function(){
    alert( $(this).text() );
});

你可以传递一些附加的数据给事件处理函数:

function handler(event) {
    alert(event.data.foo);
}
$("p").bind("click",{foo: "bar"},handler);

你可以通过返回false来取消默认的行为并阻止事件起泡:

$("form").bind("submit", function() { return false; })

你可以通过使用preventDefault()方法只取消默认的行为:

$("form").bind("submit", function(event){
    event.preventDefault();
});

你可以通过使用stopPropagation()方法只阻止一个事件起泡:

$("form").bind("submit", function(event){
    event.stopPropagation();
});

进入主题

  • jquery的bind方法调用如果调用多次是什么效果呢?
  • 答案是,同一个dom元素的同一个事件会被绑定多次。则直接会导致各种错误。有的人由于页面嵌套很多结构比较复杂,经常出现一段js代码被执行多次的情况,如何导致一些莫名其妙的错误。这种错误一般来说是很难被发现的,因为很少有人会考虑自己的某句代码被执行了多少次,而且是由于页面嵌套导致多次执行的问题。
  • 解决方案,每次调用bind方法的时候都先调用unbind方法即可。
  • unbind方法是用于解除dom的某个事件上绑定的函数的。

jquery bind 方法一个特点(绑定多个方法到一个dom的某个事件)

标签:jquery   前端   

原文地址:http://blog.csdn.net/u013887254/article/details/45678283

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!