jQuery 绑定事件总结

目前已知有:

$("..").bind("事件名",fn);

$("parent").on("事件名","selector",fn);

$("..").one("事件名",fn);

DOM:addEvenetlistener("事件名",fn);

removeEvenetListener("事件名",函数名);

强调:要想移除事件监听,必须使用有名函数
绑定事件监听,如果添加事件时使用匿名函数
则不可能移除.

$("select").live("事件名",fn);

$(document).delegate("select","事件",fn);

$("selector").die("事件名");

其中 后三种 live、delegate、die,由于其本身的性能问题,已废弃,不再讨论,尽讨论前三种:

1:bind

  bind通常都是是每个子元素都添加事件监听,且仅对现有元素添加绑定,无法自动给动态生成元素添加绑定

a:

$("...").bind("事件名",fn);

$("...").bind("事件名1 事件名2 ",fn);

b:事件对象
$("..").bind("事件名",function(e){

e==事件对象

e.preventDefault();

});

$("..").unbind("事件名",函数名); 解除绑定

$("..").unbind(); 移动该元素上所有事件绑定

2:on

on() 为指定的元素,添加一个或多个事件处理程序,并规定当这些事件发生时运行的函数。使用 on() 方法的事件处理程序适用于当前或未来的元素(比如由脚本创建的新元素)。

off()函数主要用于解除由on()函数绑定的事件处理函数。

3:one

$("..").one("事件名",fn);绑定事件,仅触发一次后自动触绑定,只能对当前页面上己存在的元素添加事件绑定.动态生成元素无法自动绑定事件.

实现动态绑定的方法:

解决1:利用冒泡,将事件绑定己存在父元素一次

function(e){
var target = e.target;
//target 触发事件:元素
}

解决2:事件代理

$("parent").delegate("subselector","事件名",fn);

fn-->this--->代替 e.target

解除

$("parent").undelegate("subselector","事件名");

时间: 2024-11-06 16:17:28

jQuery 绑定事件总结的相关文章

jQuery绑定事件的四种方式

jQuery绑定事件的四种方式 jQuery提供了多种绑定事件的方式,每种方式各有其特点,明白了它们之间的异同点,有助于我们在写代码的时候进行正确的选择,从而写出优雅而容易维护的代码.下面我们来看下jQuery中绑定事件的方式都有哪些. jQuery中提供了四种事件监听方式,分别是bind.live.delegate.on,对应的解除监听的函数分别是unbind.die.undelegate.off.在开始看他们之前 一:bind(type,[data],function(eventObject

jQuery绑定事件-多种方式实现

jQuery绑定事件-多种方式实现: <html> <head> <meta charset="utf-8" /> <script src="http://libs.baidu.com/jquery/1.9.0/jquery.js"></script><!--百度CDN--> </head> <body> <input type="text"/&

Jquery绑定事件(bind和live的区别)

Jquery中绑定事件有三种方法:以click事件为例 (1)target.click(function(){}); (2)target.bind("click",function(){}); (3)target.live("click",function(){}); 第一种方法很好理解,其实就和普通JS的用法差不多,只是少了一个on而已 第二.三种方法都是绑定事件,但是二者又有很大的不同,下面着重讲解一下,因为这个如果用到Jquery的框架的话是用的挺多的,尤其要

解决jquery绑定事件重复绑定问题

解决jquery绑定事件重复绑定问题,以下用绑定click事件为例: 出现重复绑定情况: $(dom).click(function(e){})或者$(dom).on('click', function(e){}) 不管是click还是on都是会在原来方法上重复添加,所以我们需要如下做就可以解决 $(dom).unbind('click').click(function(e){}) 在绑定新click方法前对元素所绑定的click方法解绑

jquery绑定事件时如何向事件函数里传参数

举例子说明: 步骤1:var button=$('<button type="button" class="btn btn-default">提交</button>'); button.bind("click",{menuid:"01"},form_submit); 如上代码所示即是button按钮绑定了click事件,而其对应的函数为form_submit();并传递了参数menuid,其值为01,

jquery绑定事件以及js绑定事件

jquery绑定事件: <div id="click1">bind事件</div><!--如果有动态元素,不能触发--> <div id="click2">one</div><!--只能点击一次--> <div id="click3">live</div><!--已经弃用--> <div id="click4"&g

jQuery绑定事件的四种方式:bind、live、delegate、on

1.jQuery操作DOM元素的绑定事件的四种方式 jQuery中提供了四种事件监听方式,分别是bind.live.delegate.on,对应的解除监听的函数分别是unbind.die.undelegate.off. 2.必备的基础知识: DOM树 示例,这是在browser环境下的一棵模拟DOM树: 我们的页面可以理解为一棵DOM树,当我们在叶子结点上做什么事情的时候(如click一个a元素),如果我们没有人为的设置stopPropagation(Moder Browser), cancel

jquery绑定事件失效的情况(转)

原文地址:http://www.thinksaas.cn/group/topic/348453/ jQuery中文api地址:http://www.jquery123.com/api/ jQuery官网api地址:http://api.jquery.com/ 现在的web项目,不使用jquery的恐怕极少.但是在使用jquery时,也会发现一些异常的情况. 一般我们如下绑定点击等事件: <div class="music"> <ul> <li>01.

JQuery 绑定事件

在日常写代码的时候 不免有绑定代码,对于新手的我,对JQ中事件的绑定做一个大致的区分. jQuery on()方法是官方推荐的绑定事件的一个方法. $(selector).on(event,childSelector,data,function,map) 由此扩展开来的几个以前常见的方法有. bind() $("p").bind("click",function(){ alert("I‘m you friend---MYmingk."); });

jquery绑定事件,解绑事件

unbind([type],[data]) 是 bind()的反向操作,从每一个匹配的元素中删除绑定的事件.如果没有参数,则删除所有绑定的事件.你可以将你用bind()注册的自定义事件取消绑定.如果提供了事件类型作为参数,则只删除该类型的绑定事件.如果把在绑定时传递的处理函数作为第二个参数,则只有这个特定的事件处理函数会被删除.返回值 : jQuery参数 :type (String) : (可选) 事件类型data (Function) : (可选) 要从每个匹配元素的事件中反绑定的事件处理函