Jquery获取dom上的绑定事件】的更多相关文章

在1.8.0版本之前的写法: $.data(domObj,'events');//或者$('selector').data('events') 1.8.0及以后的写法: $._data(domObj,'events');//注意,这里不能像$('selector')._data('events')这样用了. 兼容的写法: var eventsData = $.data(domObj,'events') || $._data(domObj,'events'); 备注: 1.domObj节点必须为d…
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', function(…
https://www.cnblogs.com/ddqyc/p/6200539.html <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>template</title> <script src="http://libs.baidu.com/jquery/2.1.1/jquery.min.js"></scr…
首先要明白浏览器在加载页面的时候是按顺序来加载的,这样以来就很清楚了,js动态添加dom以后,这些dom并没有绑定事件,这个时候最简单的一个办法就是:将绑定事件的方法封装到一个函数A中,在动态添加完dom以后立即执行一次函数A即可. 需要注意的是,在你可能同事需要添加许多的dom,不要添加一个就执行一次函数A,这样会增加浏览器的负载,你需要在所有dom添加完以后在执行函数A,例如你用一个for循环遍历dom组合并拼接成一个字符串,然后添加到某个父级dom里面,这个时候你需要在循环外添加一次就可以…
使用jquery获取url上的参数(笔记) 一.做作业时经常要获取url上的参数 1.当url上有多个参数时 从互联网找到了一个方法 (function ($) { $.getUrlParam = function (name) { var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); var r = window.location.search.substr(1).match(reg…
获取到当前正在执行的事件: $('#testDive').bind('click', function(event){alert('event: ' + event.type)}); 获取所有绑定事件: $._data(document.getElementById('testDive'), 'events');…
$(dom).data( "events" ); 包括事件类型和关联的处理函数 下面是firefox的截图…
我研究了一下之后发现,jQuery都将事件缓存起来了,其实也是为了防止内存溢出以及页面unload的时候的速度,也包括多函数触发,方便管理等诸多好处,具体可以参考此文. jQuery会在window.unload的时候卸载所有绑定过的事件,释放内存的. OK,言归正传.判断元素上是否绑定过事件用如下语句 jQuery.data(elem,"events")[type] //老版本也能用 $(elem).data("events")[type] //1.2.3以后才能…
参照网上前辈: 方法一:绑定live事件 live(type,[data],fn) $(selector).live("click",function(){ alert("点击了"); }): 但是测试无效,因为从 jQuery 1.7 开始,不再建议使用 .live() 方法.请使用 .on()来添加事件处理,到1.9已经不支持了 方法一:绑定on事件  ($(ParentEle).on("click",".thisEle"…
假设我们点击li标签,弹出他的文本,如果是动态添加的li,点击是没有效果的,压根弹不出来文本. 下面博主分享一下为动态添加的元素绑定事件的三种方法,网上一般都是两种,我在这里多增加了一种. 事件案例: <ul id="ul1"> <li><a href="">世界上第三种电梯诞生了,居然是中国人发明的!</a></li> <li><a href="">电视名人辱骂…
今天工作中需要在页面动态生成html代码,但发现新生成的代码的click事件失效了(非动态生成的代码已经绑定了click事件),于是在网上找了很多解决办法,很多都比较复杂,且使用的jquery都比较老,于是结合网上加上自己的测试,找到了一种解决方法. 我使用的jquery是1.9.11,jquery1.7之后就将live方法废弃了,新增了on和off方法,我的解决办法就是使用on方法,首先看代码: <div class="h3"> <h3>李健1</h3&…
jquery动态添加元素无法触发绑定的事件的解决方案. ╭(●`∀´●)╯二狗最近在工作中遇到一个问题,即当用jquery动态添加元素后,发现给动态添加的元素却无法触发事件(╯#-_-)╯╧═╧ ( ╯#-_-)╯┴-┴.后来在网上查阅了一些资料,发现原来要这样处理๑乛◡乛๑: 先上我出错的代码: <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8">…
以前总觉得自己写的代码不太规范,尤其是写原生的时候.举个例子: 要为页面上所有".a"的元素绑定事件,当然了用jquery很方便:$('.a').bind("click",fn); 原生的话,我们很多会这样写: for(var i=0;i<length;i++){ elem[i].onclick=function(x){return function(){}}(i); } 但是如果,我要连续绑定两个事件呢? for(var i=0;i<length;i+…
你的代码在页面载入过程中已经完成事件绑定了,没有阻止后绑定的事件的办法了,不过可以删除当前指定节点的事件绑定.方法如下:$("#btn").click(function(){if($("#tx").val()==""){alert("e1");}else{//删除后绑定的事件...$("#btn").unbind('click');}});说明:unbind([type],[data])bind()的反向操…
1. 在jquery中append元素,如果该元素中有id值并且绑定事件,那么该id事件会失效,必须刷新一下才能使用. 2.解决办法: 举例:如果在一个<div class="title"></div>中,通过append添加一个id="demo"的按钮,常用的直接$("Selector").on("eventType",function(){})监听事件函数不起作用,例如该按钮的点击监听事件应该这样写…
jQuery中包裹后的DOM对象实际上是一个数组,要获得纯粹的DOM对象可以有两种方式: 1.使用数组索引方式访问,例如: var dom = $(dom)[0]; 如: $("#id")[0] 2.使用函数get()访问,例如: var dom = $(dom).get(0); get()函数中的参数为索引号. 什么是jQuery对象? 就是通过jQuery包装DOM对象后产生的对象.jQuery对象是jQuery独有的,其可以使用jQuery里的方法. 比如: $("#t…
function bindEvent() { //移除绑定事件 $('.btnsp').unbind('click'); //绑定事件 $('.btnsp').bind('click', function () { console.log('test'); }); } $(function () { $.ajax(url + 'api/WxHome/GetProduct', { dataType: 'json', type: 'get', success: function (data) { v…
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <style type="text/css"> .page{border: 1px red solid;} .up{width:300px;height:50px;} .a{width:90px;height:50px;float: left;bo…
使用事件委托 $(document).on('click','selector',function(){ ... }); 示例 $(document).on("click", ".Inverse", function () { $(this).toggleClass("current"); }) 将事件冒泡到document上,当检测到事件的target时,触发事件…
通过jquery append(或者before.after,一样)新添加进网页的元素,常用的事件不能触发,比如:append了id 为 abc 的元素,那么 $(#abc).click(function(){})是没有效果的. 解决方法:用on函数 一直以为on函数只有2个参数 正确格式:  $("outerSelector").on('eventType','selector',function(){}): outerSelector 是一个一直存在的DOM, selector是你…
a.html <div> <button class="button" >点我达</button> </div> b.html <html> <head> <script type="text/javascript" src="./js/jquery-1.0.1.js"></script> <meta http-equiv="Conte…
在dom操作时,有时根据id获取单个对象.有时根据className获取多个对象.平常可能我们用两个函数来实现这两个功能.不过我将它们整合了一下,目前使用情况良好,函数如下: view source   print? 01 // 根据selector获取单个或多个元素, 02 // 获取多个元素时,可以指定元素的tag类型和父元素 03 function $(selector, tag, parent) { 04     var ret = []; 05     06     //没有传递sel…
.on()方法比.bind()方法多一个参数selector .on()的selector参数是筛选出调用.on()方法的dom元素的指定子元素,如: $("ul").on('click','li', function(){}) 为动态添加的元素也能绑上指定事件 案例: <body> <ul> <li>1</li> <li>2</li> <li>3</li> <li>4</…
当页面加载时,就会注册所有的事件,后面通过jquery新增的内容(<div class="item"></div>),再对新增的添加事件$(".item").click(function(){}):页面是不会执行的, 解决方法,使用live(), live() 方法附加的事件处理程序适用于匹配选择器的当前及未来的元素(比如由脚本创建的新元素): $(".item").live("click",funct…
两种类型1.$('li').bind('click',function(){}); 当你用js动态添加li的时候,你添加的li不具有你绑定的事件.这种写法与$('li').click(function(){})一样.2.$('li').live('click',function(){}); 当你用js动态添加li的时候,你添加的li具有你绑定的事件…
jQuery.parent(expr),找父亲节点,可以传入expr进行过滤,比如$("span").parent()或者$("span").parent(".class") jQuery.parents(expr),类似于jQuery.parents(expr),但是是查找所有祖先元素,不限于父元素 jQuery.children(expr),返回所有子节点,这个方法只会返回直接的孩子节点,不会返回所有的子孙节点 jQuery.contents…
当页面加载时,就会注册所有的事件,后面通过jquery新增的内容(<div class="item"></div>),再对新增的添加事件$(".item").click(function(){}):页面是不会执行的, 由于jquery1.9后的版本已经把live()方法删除了,所以最好使用on()方法: $(document).on("click",".item",function(){ }); 这样就…
事件一定要紧跟append之后, 否则append元素点击不起作用 $(function(){$('div').append('<ul><li id="appli">clickme</li></ul>');$("#appli").click(function(){alert("boon!");});…
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <script src="js/jquery-1.11.0.js" type="text/javascript" charset="utf-8"></script> </head> &…
(function (window) { var arr = []; var VP = function (selector, context) { return new VP.fn.init(selector, context); } VP.fn = VP.prototype = { constructor: VP, init: function (selector, context) { var _document = window.document, elem, mark = select…