方法的4种不同调用方式: 参数是字符串表示的CSS选择器:$('.class')返回当前文档中匹配到的元素集。...HTML文本字符串:(不能是纯文本,会被当做CSS字符串的)返回文本创建好的HTML元素并封装成的JQuery对象;此方式接受可选的第二个参数;1、可以用Document对象来指定与所创建元素相关联的文档...2、可以使用object对象,该对象的属性名是Jquery关键字时,可用于传入属性值; 参数为一个函数:文档加载完毕时调用;相当于onLoad()函数;形如$(function(){})或JQuery(...;map的返回值为新的包含回调函数所有返回值的JQuery对象; index() : 参数为一个元素或字符串(当做CSS选择器使用),返回值为该元素在此JQuery对象中的索引值,找不到返回-1; is...: 设置:text():纯文本;html():HTML内容格式; x.html() === x[0].innerHTML; 元素数据: 设置与获取与文档、元素、window对象相关联的数据 $('div
$('button').trigger('click!')...//快速淡出为半透明,等一等,然后向上滑动 $('img').fadeTo(100, 0.5).delay(200).slideUp(); 每一个队列都和文档元素相关联,每一个元素的队列都与其他元素的队列彼此独立...); 组合选择器 blockquote i // 匹配blockquote里的i元素 ol > li // 选择ol元素下的li元素 选择器组 h1, h2, h3 // 匹配h1 h2 h3的元素 选取方法...('#header, #footer').find('p'); // 寻找id为header和footer子元素节点中的p元素 $('h1').next('p'); // 选择h1的兄弟元素p...文件命名需要使用jquery.plugin.js jQuery的UI库 https://jqueryui.com/ ps 该库已经两年未更新了,不过lssues 依旧在回复中,对于库的检查 https:
, //事件处理函数,如 function(){console.log('aaaa')} handler: handler, //索引,用于关联元素和事件...五、guid的作用? 添加guid的目的是因为handler没有直接跟元素节点发生关联,所以需要一个索引来寻找或者删除handler 六、命名空间namespace的作用?...十、trigger的触发机制 $("#A").on("click" ,function (event) { console.log(event,"A被点击了") }) 元素#A本身绑定了一个...jQuery的trigger是能够无差别模拟这个交互行为的 $("#A").trigger("click") 从trigger()的功能上就可以解释 为什么jQuery要设计元素与数据分离了: 如果是直接绑定的话就无法通过...trigger的机制去触发click事件, 正是因为jQuery没有直接把事件相关的handler与元素直接绑定,而是采用了分离处理, 所以我们通过trigger触发click事件与addEventListener
类型; self 基于一组特定的根元素为所有选择器匹配的元素附加一个处理事件,匹配的元素可能现在货将来才创建。 89.die die(type,function(e){...})...类型 self 添加一个个事件处理器到符合目前选择器的所有元素匹配,匹配的元素可能在或将来才创建。...否则,只通过事件类型调用此方法将移除该类型的所有处理程序。 如果没有参数,将移出当前元素上全部的注册事件。...如果给定css选择器,当事件 在匹配该选择器的元素上发起时,事件才会被触发(愚人码头注:即事件委派,或者说事件代理)。 ...如果给定data参数,这个值将在事件处理程序执行期间被作为有用的 event.data 属性 事件处理程序在添加该处理程序的元素、或在给定选择器情况下匹配该选择器的元素的上下文中执行(愚人码头注:
常规选择器 $("*") 选择所有节点 $("#id") ID选择器,注意其中的一些特殊字符,如 . $(".class") 类选择器 $("tag") 标签选择器 $("子元素") $("直接子元素"...控件选择器 :checked 选择所有被选中的元素 :selected 被选择的元素 :disabled/:enabled 选择被禁用/未禁用的元素 :hidden 隐藏元素,不仅是 [type="hidden...事件触发 事件的触发有两种方式,一是使用预定的“事件函数”( .click(), .focus()),二是使用 trigger()或 triggerHandler()。...(); $('#btn').trigger('click'); trigger()与 triggerHandler()不同之处在于前面是触发事件,而后者是执行绑定函数。...document的鼠标位置 event.namespace 事件触发时的名字空间,比如 trigger('click.namespace') event.data 额外传入的数据 event.result
jQuery选择器 示例 基本选择器 #id, .class, element 最基本的id,类,元素选择器 * 匹配所有元素, $("*") selector1,selector2,… 将每一个选择器匹配到元素合并后一起返回...为two的元素后面所有兄弟元素 过滤选择器 :first, :last 选择第一个/最后一个元素 :not(selector) 去除所有与给定选择器匹配的元素 :even, :odd 选取索引为偶数...)文档对象模型是一种与浏览器、平台、语言无关的接口,通过该接口可以轻松的访问浏览器中所有标准组件。...之前就介绍的$(document).ready()相信大家都不会陌生,其与window.onload实际上有一些区别的,前者是当DOM加载完成后触发,而后者则是页面中的所有元素(包括所有关联元素)加载完成后执行...()方法来阻止元素的默认行为,常用与a链接元素和submit表单提交行为。
我们不但可以通过 find 方法查找 DOM 元素,还可以通过 trigger 方法在组件上模拟触发某个 DOM 事件,比如 Click,Change 等等。...对于浅渲染来说,事件模拟并不会像真实环境中所预期的那样进行传播,因此我们必须在一个已经设置好了事件处理方法的实际节点上才能够调用,实际上 .trigger() 方法将会根据模拟的事件触发这个组件的 prop...例如,.trigger('click') 实际上会获取 对应的 clickHandler propsData 并调用它。...未完待续…… ## 单元测试基础 ### 单元测试与自动化的意义 ### 为什么选择 Jest ### Jest 的基本用法 ### 该如何测试异步代码?...## Vue 单元测试 ### Vue 组件的渲染方式 ### Wrapper find() 方法与选择器 ### UI 组件交互行为的测试 ## Vuex 单元测试 ### CQRS 与 Redux-like
如果func是个方法,则object是func函数的引用关联对象。当func被调用时,trigger()的其他参数会传递给它。...这就是为什么,大部分时间里,你在定位部件里的 HTML 时,必须限制 jQuery 选择器的选择范围。 出于同样的逻辑,你也可以猜测到,不能够在部件里使用 HTML id。...如果widget 被实例化的两次,在应用程序里将有两个相同 id,但却是不同的 HTML元素的情况。而这本身就是一个错误。...所以key click.my_button将绑定在所有CSS类名为“my_button”的HTML标签的 click事件上。dictionary的value值是对象内被调用的方法名称。...几乎所有时候,id可为空,使用 CSS类或保留一个DOM节点引用,或嵌套在一个jQuery的元素内去引用。
如果提供了第二参数,那么事件在往上冒泡的过程中遇到了选择器匹配的元素,将会触发事件回调函数 卸载事件off()方法 通过.on()绑定的事件处理程序 通过off() 方法移除该绑定 根据on绑定事件的一些特性...,off方法也可以通过相应的传递组合的事件名,名字空间,选择器或处理函数来移除绑定在元素上指定的事件处理函数。...方法就可以调用到alert .trigger定义 根据绑定到匹配元素的给定的事件类型执行所有的处理程序和行为 trigger除了能够触发浏览器事件,同时还支持自定义事件,并且自定义时间还支持传递参数 $...:会在DOM树上冒泡,所以如果要阻止冒泡就需要在事件处理程序中返回false或调用事件对象中的.stopPropagation() 方法可以使事件停止冒泡 trigger事件是具有触发原生与自定义能力的...与trigger的用法是一样的,重点看不同之处: triggerHandler不会触发浏览器的默认行为,.triggerHandler( “submit” )将不会调用表单上的.submit() .trigger
( data, fn ) { xxx } 如果有参数,则是绑定事件,调用 on() 方法; 没有参数,则是调用事件,调用 trigger() 方法( trigger() 放到下篇讲 ) 三、$().on...//绑定事件的on方法 //源码5143行 //目标元素,类型(click,mouseenter,focusin,xxx),回调函数function(){xxx} function on(...该方法最终调用 jQuery.event.add( ) 方法 四、jQuery.event.add( ) 作用: 为目标元素添加事件 源码: //源码5235行 /* * Helper functions...if 判断,都是在初始化对象,最后通过 while 循环,调用目标元素的 addEventListener 事件,也就是说,click()/on() 的本质是 element.addEventListener...(); 在 jQuery 对象中,有唯一id的属性 $("#one") elemData = dataPriv.get( elem ) ① Data() //目标元素的jQuery id
],fn]) $("p").blur(); 当元素失去焦点时触发 blur 事件,这个函数会调用执行绑定到blur事件的所有函数,包括浏览器的默认行为。...这个方法的行为表现与trigger类似,但有以下三个主要区别: 第一,他不会触发浏览器默认事件。 第二,只触发jQuery对象集合中第一个元素的事件处理函数。...selector:一个选择器字符串用于过滤器的触发事件的选择器元素的后代。如果选择的< null或省略,当它到达选定的元素,事件总是触发。...要删除特定的委派事件处理程序,提供一个selector 的参数。选择器字符串必须是完全匹配递到.on()事件处理程序附加的选择器。要删除非委托元素上的所有事件,使用特殊值 "**" 。...// $('#btn').trigger('click'); // 触发所有的click事件,包括所有的命名空间的 // $('#btn').trigger('click.demo');
选择元素 选择器使用 尽量使用综合查询效率最高的,一般id以及元素选择是最高效的,其实是class,最差的是属性选择器以及伪类选择器。...所以最终建议如果dom较多的话,最优先使用id选择器固定最小范围。...循环筛选目标元素耗时 如果你有需要判定某列表中的元素是否具有某特点,尽量用选择器去实现,不要用循环 //不建议 $("li").each(function(index){ if($(this)....,两者支持的方法以及属性调用是完全不同的,一个属于原生语法,一个属于jq-api。...//不建议 $("ul li").click(fn) //针对父元素绑定一次即可 $("ul").on("click","li",fn) 事件触发 如果需要触发多个其他事件,建议写成trigger(),
1. jQuery选择器 - 选择器都是以 $() 开头的 基础选择器 选择器 描述 id选择器 指定id元素 class选择器 遍历css类元素 element元素 遍历HTML元素 *选择器 遍历所有元素...并列选择器 这类选择器将每一个选择器匹配到的元素合并后一起返回 id="notMe" id="...:header 选择标题元素 :animated 选择所有正在执行动画效果的元素 :root 选择页面的根元素 :target 选择当前活动的目标元素(锚点) $("tr:..."整数或odd或even" :only-child 选择父元素中唯一的子元素(该父元素只有一个子元素) 区分元素类型的 选择器 说明 :first-of-type 选择同元素类型的第一个子元素 :last-of-type...选择同元素类型的随后一个子元素 :nth-of-type 选择同元素类型的第n个或奇偶元素,n的值为"整数或odd或even" :only-of-type 匹配父元素中特定类型的唯一子元素(该父元素可以有多个子元素
(1)最快的选择器:id选择器和元素标签选择器 举例来说,下面的语句性能最佳: $(‘#id’) $(‘form’) $(‘input’) 遇到这些选择器的时候,jQuery内部会自动调用浏览器的原生方法...可以看到,ID选择器遥遥领先,然后是标签选择器,第三是Class选择器,其他选择器都非常慢。 3. 理解子元素和父元素的关系 下面六个选择器,都是从父元素中选择子元素。...再来看一个例子,为a元素绑定一个处理点击事件的函数: $(‘a’).click(function(){ alert($(this).attr(‘id’)); }); 这段代码的意思是,点击a元素后...,弹出该元素的id属性。...更正确的写法是,直接采用javascript原生方法,调用this.id: $(‘a’).click(function(){ alert(this.id); }); 根据测试,this.id的速度比
前言: 仅仅是简单模拟了$().on()和$().trigger(),仅支持id选择器,事件冒泡与事件委托。 代码: <!...,需要保留该值 let matched,handleObj let i=0 while((matched=handlerQueue[i++])&&!...type){ return } //如果selector是funcion的话,就没有委托元素了 if(typeof selector=...:function (type) { return $.event.trigger(elemId,type) }, } } //仅支持id选择器,事件冒泡与事件委托...) { // console.log(event,"A又被点击了") // }) // $("#A").trigger("click") </html
(1)最快的选择器:id选择器和元素标签选择器 举例来说,下面的语句性能最佳: $('#id') $('form') $('input') 遇到这些选择器的时候,jQuery内部会自动调用浏览器的原生方法...可以看到,ID选择器遥遥领先,然后是标签选择器,第三是Class选择器,其他选择器都非常慢。 3. 理解子元素和父元素的关系 下面六个选择器,都是从父元素中选择子元素。...(5) $('#parent .child') 这条语句与上一条是同样的情况。但是,上一条只选择直接的子元素,这一条可以于选择多级子元素,所以它的速度更慢,大概比最快的形式慢了77%。...,点击a元素后,弹出该元素的id属性。...更正确的写法是,直接采用javascript原生方法,调用this.id: $('a').click(function(){ alert(this.id); }); 根据测试,this.id
在jQuery库中实际上定义了一个jQuery()方法,它是jQuery库的核心。我们调用该方法并传入指定的参数,就可以返回一个jQuery实例对象,该对象中包含匹配的一个或多个DOM元素。...// 多个选择器以空格或指定符号隔开,将匹配与前者具有指定关系的最后一个选择器所表示的元素 $("#uid span"); // 选择id为"uid"的元素的所有后代span元素 $("p > span...当我们使用$("选择器字符串")匹配到指定的元素后,将返回一个jQuery对象。该对象就包含匹配到的所有DOM元素。...,一般都会返回该jQuery对象本身(或者其它jQuery对象),因此我们可以继续调用返回的jQuery对象上的方法。...// 触发所有匹配元素上的click事件 $("selector").trigger("click"); // 触发所有匹配元素上的change事件 $("selector").trigger("change
bind方法 会给每一个符合selector的元素添加click执行函数,即:将click事件绑定到所有设置了的selector元素上,如果动态添加了元素,之前绑定事件也起作用 live方法 ...解决方案:避免这样使用 嵌套元素的事件冒泡 解决方案: e.preventDefault()//阻止默认 e.stoppropagation()//阻止冒泡 频繁使用trigger...函数 可能有时候的需求需要触发某个特定事件,这时我们会想当然使用trigger触发事件,但是却没有考虑到带来的隐患。...Click事件为例: click me function clickBtn() { alert('click!')...; } 1、直接在元素上绑定回调函数 click me 2、JS获取DOM元素对象后,对onclick属性赋值
绑定click事件,使用jquery的$().click(func)?别闹了,属实是low。 虽然之前在ajax回调成功后通过dom添加过元素,遇到过这种情况,事件绑定会失效。...$(selector).on(event,childSelector,data,function,map) $().click()和$(document).on('click','要选择的元素',function...(){})的 最大的区别即优点是如果动态创建的元素在该选择器选中范围内是能触发回调函数。...$().bind()直接绑定在元素上,和click,blur,mouseon一样的点击事件。 $().live()是通过冒泡的方式来绑定到元素上的。..., handlerName) }); 适用于未创建的元素 $(document).ready(function(){ $("div").on("click","p",function(){
p id="n6">上述绑定的click事件不会对该元素也生效!...以表单元素为例,使用trigger("submit")可以触发该表单绑定的submit事件,也会执行表单submit事件的默认行为——表单提交操作。...click事件 $buttons.trigger("click"); /*(追加文本) 触发元素#btn1的[click]事件,额外的函数参数为:undefined, undefined 触发元素#btn2...与focus事件不同的是:focusin可以检测该元素的后代元素获得焦点的情况(换句话说,focusin事件支持冒泡)。...与blur事件不同的是:focusout可以检测该元素的后代元素获得焦点的情况(换句话说,focusout事件支持冒泡,blur不支持)。 效果同上。
领取专属 10元无门槛券
手把手带您无忧上云