一、事件委托(委派) 含义: 在#A上绑定click事件,但是让#B触发click事件,相当于在 #B 上假绑定了 click 事件 也就是说:#B 委托了 click 事件给了 #A(在 #A 上绑定...是优先添加委托 click 事件,再添加自身 click 事件,触发事件的时候也是按这个顺序。...target 是触发事件的对象 delegateTarget 是事件委托的原对象 而currenttarget分三种情况: (1)A 在自身有绑定 click 事件的条件下,C 再去委托 A 绑定 click...是 #C (3)A在自身有绑定click事件的条件下,C再去委托A绑定click事件的同时,阻止冒泡!...==0的委托事件,所以 cur 就是 #C 了(新循环中的当前值)。
click //dataPriv.get( cur, "handle" ) //再获取cur元素的click事件处理程序 //获取目标元素的触发事件的事件处理程序...dataPriv.get( cur, "handle" ); /*让冒泡元素执行handle,这行代码是触发冒泡机制的关键*/ /*在执行click事件的处理程序后,自然就会执行...dataPriv.get( cur, "handle" ); /*让冒泡元素执行handle,这行代码是触发冒泡机制的关键*/ /*在执行click事件的处理程序后,自然就会执行...("one").onclick=function(){ console.log('onclick被点击了') } 还是在while循环中: //接下来处理原生的事件及处理程序...(如提交表单submit) event.preventDefault(); } } 也就是说: 在冒泡循环机制中,在执行完jQuery绑定的
所以需要将这一百个同类型的事件保存到一个click事件集合中,然后在这一大个click事件集合内,根据guid来执行某一次的click处理代码 同一事件的处理: $('body').on('click'...two触发') }) events是jQuery内部的事件队列 handle是真正绑定到element上的事件处理函数 body:{ events:{ click:[ 0:{...可以看到,针对同一类型的事件(如click),重复绑定不会再创建新的内存(new Object会有新内存),而是在events里添加新的绑定事件。...trigger的机制去触发click事件, 正是因为jQuery没有直接把事件相关的handler与元素直接绑定,而是采用了分离处理, 所以我们通过trigger触发click事件与addEventListener...触发click事件的处理流程是一致的,不同的只是触发的方式而已。
构造函数传入选择器,返回的是一个jQuery的包装对象 // 大部分的api都是在jQuery包装对象上 // console.dir($inputArray); $inputArray.focus...}); 1.4 触发这些简单事件 1.4.1 直接调用jQuery包装对象的简单绑定事件方法 $('#btn').click(); // 触发点击事件 $('#btn').dbclick...语法:$dom.one(type,[data],fn) 说明:为每一个匹配元素的特定事件(像click)绑定一个一次性的事件处理函数。...在每个对象上,这个事件处理函数只会被执行一次。其他规则与bind()函数相同。这个事件处理函数会接收到一个事件对象,可以通过它来阻止(浏览器)默认的行为。...data:将要传递给事件处理函数的数据映射 fn:每当事件触发时执行的函数。 实例: // 当所有段落被第一次点击的时候,显示所有其文本。
jQuery 1.3 新增该函数,从jQuery 1.7开始被标记为已过时,在jQuery 1.9中被移除,请使用on()函数来替代。请使用on()函数来替代。 5,die 同上。...的祖辈元素,selector触发的事件可以被其祖辈元素在事件流中捕获,从而以"代理"的形式触发事件。...12,triggerHandler triggerHandler()函数用于在每个匹配元素上触发指定类型的事件。...click"); /*(追加文本) 触发元素#btn1的[click]事件,额外的函数参数为:undefined, undefined */ 13,load jQuery 1.0 新增该函数,但从1.8...注意:如果一直按住鼠标按钮不放,也只会触发一次mousedown事件。 jQuery 事件就写这么多了, 后面如果有新的内容仍会及时更新。
一、传统事件触发 在标准的浏览器流程中,页面加载、$http请求返回响应、鼠标移动以及按钮被点击等情况都会触发事件。...这些watch列表会在watch列表会在digest循环中的“脏值检查”(检测值是否发生了变化,但整个应用还没有同步该变化)的程序解析。...循环之前,会触发该值(ng-model)上运行的验证和格式化操作; (5)由于在digest循环中值发生了变化,angular需要再次运行这一循环以确定它没有改变作用域对象上的其他值。...当手动处理事件,使用第三框架(比如jquery)或者调用setTimeout都可以使用apply()函数可以从angular框架的外部让表达式在angular上下文内部执行。...(1)不建议在控制器中使用$apply(),因为这样会导致难以测试。 (2)jquery和angular同时使用被视为一个肮脏的行为。
/ triggerHandler(): 事件触发 2.1 事件处理 on() 绑定事件 因为普通注册事件方法的不足,jQuery又创建了多个新的事件绑定方法bind() / live() /...事件处理 off() 解绑事件 当某个事件上面的逻辑,在特定需求下不需要的时候,可以把该事件上的逻辑移除,这个过程我们称为事件解绑。...jQuery 为我们提供 了多种事件解绑方法:die() / undelegate() / off() 等,甚至还有只触发一次的事件绑定方法 one(),在这里我们重点讲解一下 off() ; 语法 off..."click", "li"); // 解绑事件委托 如果有的事件只想触发一次, 可以使用 one() 来绑定事件。...div身上的点击事件 $("ul").off("click", "li"); // 2. one() 但是它只能触发事件一次
1.4 触发这些简单事件 1.4.1 直接调用jQuery包装对象的简单绑定事件方法 $('#btn').click(); // 触发点击事件 $('#btn').dbclick(); // 触发双击事件...语法:$dom.one(type,[data],fn) 说明:为每一个匹配元素的特定事件(像click)绑定一个一次性的事件处理函数。...在每个对象上,这个事件处理函数只会被执行一次。其他规则与bind()函数相同。这个事件处理函数会接收到一个事件对象,可以通过它来阻止(浏览器)默认的行为。...data:将要传递给事件处理函数的数据映射 fn:每当事件触发时执行的函数。 实例: // 当所有段落被第一次点击的时候,显示所有其文本。...IE678:window.event 标准浏览器直接从事件处理程序的参数中获得事件对象e e = e || window.event; 在jQuery的事件处理程序中,可以直接获取�事件对象,所有浏览器都兼容
/ triggerHandler(): 事件触发 2.1 事件处理 on() 绑定事件 因为普通注册事件方法的不足,jQuery又创建了多个新的事件绑定方法bind() / live() / delegate...事件处理 off() 解绑事件 当某个事件上面的逻辑,在特定需求下不需要的时候,可以把该事件上的逻辑移除,这个过程我们称为事件解绑。...jQuery 为我们提供 了多种事件解绑方法:die() / undelegate() / off() 等,甚至还有只触发一次的事件绑定方法 one(),在这里我们重点讲解一下 off() ; 语法 off...div身上的点击事件 $("ul").off("click", "li"); // 2. one() 但是它只能触发事件一次...由此 jQuery 为我们提供了两个自动触发事件 trigger() 和 triggerHandler() ; 语法 第一种: trigger( element.click() // 第一种简写形式
()方法在匹配元素上绑定一个或多 个事件的事件处理函数 语法: element.on (events, [selector], fn) events:一个或多个用空格分隔的事件类型,如"click或"...是绑定在ul 身上的,但是 触发的对象是 ul 里面的小li // $("ul li").click(); $("ul").on("click", "li...事件处理 off() 解绑事件 当某个事件上面的逻辑,在特定需求下不需要的时候,可以把该事件上的逻辑移除,这个过程我们称为事件解绑。...jQuery 为我们提供 了多种事件解绑方法:die() / undelegate() / off() 等,甚至还有只触发一次的事件绑定方法 one(),在这里我们重点讲解一下 off() ; 语法 ?...div身上的点击事件 $("ul").off("click", "li"); // 2. one() 但是它只能触发事件一次
出处:jQuery 双击事件(dblclick)时,不触发单击事件(click) 在jQuery的事件绑定中,执行双击事件(dblclick)时能触发两次单击事件(click)。...mouseout,click,dblclick; 在双击事件(dblclick),触发的两次单击事件(click)中,第一次的单击事件(click)会被屏蔽掉,但第二次不会。...也就是说双击事件(dblclick)会返回一次单击事件(click)结果和一次双击事件(dblclick) 结果。而不是一次双击事件(dblclick)结果和两次单击事件结果(click)。...如此这般的话,只需消灭掉多余的一次单击事件(click),这个问题就解决了。...}) 从测试结果来看,如果前后两次点击的时间在 300ms 左右的时候,还是很容易出现 click 和 dblclick 事件被“同时”调用的情况,而如果间隔的时间更短或更长,则只会有 click 或
//DOM加载完成的入口 }) jQuery的顶级对象:$ `是jQuery 别称,在代码中`和jQuery和等价,为了方便都是$。...//(3)fn:回调函数,在动画完成时执行的函数,每个元素执行一次。...(3)fn: 回调函数,在动画完成时执行的函数,每个元素执行一次。...当只想让事件触发一次,就会用到解绑事件。...(也可以把绑定事件的on()改为one()表示事件只触发一次) $("p").off(); // 解绑p元素所有事件处理程序 $("p").off( "click"); // 解绑p元素上面的点击事件
4.jQuery的DOM操作 使用jQuery的九种选择器可以基本选中需要操作的对象,但是为了提高jQuery的查询效率,可以结合jQuery的内置查找函数一起使用 ①:查询 children([expr...②:事件一次性绑定和自动触发 一次性事件 one(type, [data], fn) 为对象绑定一次性事件,只有一次有效 触发事件 trigger(type, [data]) 触发目标对象指定的事件执行...练习1: ² 为页面内所有p 元素绑定 一次性事件,点击打印p元素中内容 ² 页面内有两个按钮,点击按钮1, 触发按钮2的 click事件执行 <script type="text/javascript...p元素中内容 $("p").one("click",function(){ alert($(this).text()); }); //页面内有两个按钮,点击按钮1, 触发按钮2的 click事件执行 $...③:事件切换 hover(mouseover,mouseout) 模拟鼠标悬停事件 toggle(fn1,fn2,fn3...) ; 鼠标点击一次 触发一个函数 练习1: ² 编写一个div元素,光标移动上去
jQuery 为我们提供 了多种事件解绑方法:die()、undelegate()、off()等,甚至还有只触发一次的事件绑定方法one(),在这里我们重点讲解一下off(): off语法 演示代码...div身上的点击事件 $("ul").off("click", "li"); // 2. one() 但是它只能触发事件一次...元素.事件() // $("div").click();会触发元素的默认行为 // 2....jQuery 多库共存 实际开发中,很多项目连续开发十多年,jQuery版本不断更新,最初的 jQuery 版本无法满足需求,这时就需要保证在旧有版本正常运行的情况下,新的功能使用新的jQuery版本实现...凡是在软件开发中用到了软件的复用,被复用的部分都可以称为组件,凡是在应用程序中已经预留接口的组件就是插件。
$('a').bind('click', function() { alert("That tickles!"); }); 因此一个单击操作会触发alert函数的执行。...click事件接着会向树的根方向传播,广播到父元素,然后接着是每个祖先元素,只要是它的某个后代元素上的单击事件被触发,事件就会传给它。 ? 在操纵DOM的语境中,document是根节点。...; }); 当我们在a 上面点击的时候,首先会触发它本身所绑定的click事件,然后会一路往上,触发它的父元素,祖先元素上所有绑定的click事件。...和.bind()相比的时候有一个好处就是我们不需要在每个元素上再去绑定事件,而只在document上绑定一次就可以了。尽管这个不是最快的方式,但是确实是最少浪费的。...优点 这里仅有一次的事件绑定,绑定到document上而不像.bind()那样给所有的元素挨个绑定 那些动态添加的elemtns依然可以触发那些早先绑定的事件,因为事件真正的绑定是在document上
1、基础: Jquery类库定义了一个全局函数:JQuery(); 别名$.是JQuery在全局命名空间中定义的唯一两个变量。...$('a').bind({mouseup:f,mousedown:g}); 如果有第二个参数,则为函数f与g的参数; one() : 原理与bind()一样,只是注册的事件触发一次后会自动注销...; 3.触发事件:手动触发 $("#form").sumbit() === $("#form").trigger("sumbit"); $('p').trigger("click.my..."); //触发特定命名空间下的处理程序; $('p').trigger("click!")...; //触发没有命名空间的单击处理程序; $('p').trigger('click','true'/[]); //第二个参数为触发的处理程序的参数,传入数组时为多个参数; 4
今天做表格前台导出到xls时,想自动触发a的点击。但失败。最后找到这个文件。 我尝试过多次用jQuery模拟用户点击a标签的功能,但都没有成功,并且困扰了很久。...前段时间的一次发呆,冒出了新的想法,于是就动手进行了测试。...> jQuery(function($) { //给所有A标签绑定点击触发事件 $('a').click(function() { alert(1); }); //触发所有...A标签的点击事件 $('a').click(); }); 上边的代码确实已经触发了点击A标签事件,但大家一定也会有疑问,为什么点击了A标签,却不触发A标签的跳转事件?...>'; //给A标签中的文字添加一个能被jQuery捕获的元素 $('a').append(mo2g); //模拟点击A标签中的文字 $('#mo2g').click(); }
触发事件 2.5. jQuery事件对象 3. jQuery补充知识点 3.1. 链式编程 3.2. each方法 3.3....最现代的方式,兼容zepto(移动端类似jQuery的一个库),强烈建议使用。 on注册简单事件 // 表示给$(selector)绑定事件,并且由自己触发,不支持动态绑定。...$(selector).on( "click", function() {}); on注册委托事件 // 表示给$(selector)绑定代理事件,当必须是它的内部元素span才能触发这个事件,支持动态绑定...触发事件 $(selector).click(); //触发 click事件 $(selector).trigger("click"); 2.5. jQuery事件对象 jQuery事件对象其实就是js...因为获取操作的时候,会返回获取到的相应的值,无法返回 jQuery对象。 end(); // 筛选选择器会改变jQuery对象的DOM对象,想要回复到上一次的状态,并且返回匹配元素之前的状态。
是绑定在ul 身上的,但是 触发的对象是 ul 里面的小li // $("ul li").click(); $("ul").on("click", "li...jQuery 为我们提供 了多种事件解绑方法:die() / undelegate() / off() 等,甚至还有只触发一次的事件绑定方法 one(),在这里我们重点讲解一下 off() ; 语法...div身上的点击事件 $("ul").off("click", "li"); // 2. one() 但是它只能触发事件一次...多库共存 实际开发中,很多项目连续开发十多年,jQuery版本不断更新,最初的 jQuery 版本无法满足需求,这时就需要保证在旧有版本正常运行的情况下,新的功能使用新的jQuery版本实现,这种情况被称为...凡是在软件开发中用到了软件的复用,被复用的部分都可以称为组件,凡是在应用程序中已经预留接口的组件就是插件。
还有一种就是我们的jQuery中的加载方式$(function(){}) window.onload方式 window.onload:在整个月面中所有内容加载完成后,才会执行事件。...在jQuery类库的不同版本中效果可能不太一样(1.0、2.0、3.0),和浏览器也有关系 案例1:测试两种方式的区别【个数+顺序】 区别1:顺序,上面我们已经测试了,理论上先执行jQuery方式...(function(){ console.info("p被点了"); }) 现在点击p标签的内容 就可以触发事件,点击页面的其它位置不会触发。...,如果点击了p标签就会触发到两个事件,一个是p自己的点击事件,一个是div的点击事件。...因为p是在div中,属于div的一部分。