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

目录:
[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的某个事件上绑定的函数的。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值