关于jquery的on,你怎么绑定就怎么解除

打开jquery3.0一看,竟然把一大半的时间绑定的东西都废弃了

基本上绑定时间可以统一成了on,不管你是不是动态进来的dom节点

live我们知道1.7的时候就已经废弃了,还在觉得live很好用的同学要注意了,别说live为什么不管用,因为废弃了。

如今统一了on的方式去绑定

1、如果不是动态加载进来的

还是按照你的一贯思维,$("#aa").on("click",function(){});

  on比较坑爹,每次执行该方法都会给你重新绑定一次,你最好是每一次执行前不管有用没用,你最好解绑一次 $("#aa").off("click")

2、如果动态加载进来的,借助委托机制到document或者body

  $(document).on(‘click‘,‘#aa‘,function(){});

  解除绑定时,请按照怎么绑定就怎么解除,不然无效,这里需要解除的方式是   $(document).off("click");

				
时间: 2024-09-30 01:04:02

关于jquery的on,你怎么绑定就怎么解除的相关文章

jquery 中 on 和普通绑定的区别

都说on是用于动态添加的元素的事件.但是你不觉得奇怪嘛,难道动态添加的元素就不能用普通的事件绑定,这样说不通啊! 其实是on可以在元素添加到dom之前绑定,而对于普通绑定,只要元素已经出现在了dom中,不论是否动态添加  事件当然也是生效的 $('body').on('click', '.d1', function(event) { //event.preventDefault(); console.log('on0');//ok }); console.log($('.d1')); $('.d

jquery 新建的元素事件绑定问题[转]

原文:http://www.cnblogs.com/linzheng/archive/2010/10/17/1853568.html js的事件监听跟css不一样,css只要设定好了样式,不论是原来就有的还是新添加的,都有一样的表现.而事件监听不是,你必须给每一个元素单独绑定事件. 常见的例子是处理表格的时候.每行行末有个删除按钮,点了这个能够删除这一行. <table>    <tbody>        <tr>            <td>这行原来就

jQuery动态添加的元素绑定事件处理函数代码

jQuery动态添加的元素绑定事件处理函数代码 作者: 字体:[增加 减小] 类型:转载 有一段时间没用jquery了,今天又碰到这个问题.当时是知道有livejquery可以解决.但是我并不喜欢为了这个而另外加载一个. 我当时的处理方法是在添加的时候手工绑定事件处理函数.不过新版的jquery已经添加了这个功能.我们已经不需要为此烦恼了. 参考:http://api.jquery.com/live/ 以前我们定义事件,比如为元素定义单击事件是这样写的: 复制代码 代码如下: $('input'

工作积累(六)——jQuery实现DOM元素事件绑定

用 jQuery 为DOM元素绑定事件时,如果用下面这种方式: <button class="dynamic-bind">按钮一</button> $(function() {   $('.dynamic-bind').on('click', function(e) {     alert(e.type); //'click' }); }); 那么如果在绑定事件之后通过 jQuery 添加与该选择器相同的新的DOM元素: $('.dynamic-bind:las

jquery的bind跟on绑定事件的区别

Jquery的bind跟on绑定事件的区别:主要是事件冒泡(事件代理): jquery文档中bind和on函数绑定事件的用法: .bind(events [,eventData], handler) .on(events [,selector]  [,data], handler) 从文档中可以看出,.on方法比.bind方法多一个参数'selector' .on的selector参数是筛选出调用.on方法的dom元素的指定子元素,如: $('ul').on('click', 'li', fun

jQuery挖源码——事件绑定

jQuery版本:2.1.4 最常用事件绑定bind,调用了on. 1 bind: function( types, data, fn ) { 2 return this.on( types, null, data, fn ); 3 } 对应解绑unband,调用了off. 1 unbind: function( types, fn ) { 2 return this.off( types, null, fn ); 3 } 只执行一次的one绑定,赤裸裸调用on. 1 one: function

jquery appaend元素中id绑定事件失效问题

1. 在jquery中append元素,如果该元素中有id值并且绑定事件,那么该id事件会失效,必须刷新一下才能使用. 2.解决办法: 举例:如果在一个<div class="title"></div>中,通过append添加一个id="demo"的按钮,常用的直接$("Selector").on("eventType",function(){})监听事件函数不起作用,例如该按钮的点击监听事件应该这样写

jQuery的4种事件绑定方法

jQuery中提供了四种绑定事件的方法,分别是bind.live.delegate.on,对应的解除监听的函数分别是unbind.die.undelegate.off: 一.on()方法(首选方法) on() 方法在被选元素及子元素上添加一个或多个事件处理程序. 自 jQuery 版本 1.7 起,on() 方法是 bind().live() 和 delegate() 方法的新的替代品.该方法给 API 带来很多便利,我们推荐使用该方法,它简化了 jQuery 代码库. 参数: event:必需

jQuery中怎样阻止后绑定事件

你的代码在页面载入过程中已经完成事件绑定了,没有阻止后绑定的事件的办法了,不过可以删除当前指定节点的事件绑定.方法如下:$("#btn").click(function(){if($("#tx").val()==""){alert("e1");}else{//删除后绑定的事件...$("#btn").unbind('click');}}); 说明:unbind([type],[data])bind()的反向