首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    简单说 JavaScript中的事件委托(上)

    https://blog.csdn.net/FE_dev/article/details/78821578 说明 这篇文章说JavaScript中的事件委托,这次先说一些比较基本的知识。...事件:JavaScript 侦测到的行为就是事件,比如鼠标点击、某个键盘的键被按下、元素获得焦点。 委托:就是把原来自己做的事,交给别人做。...,并不在生成的元素上绑定事件,而是在生成元素的父元素上绑定事件,因为父元素是一直存在的,所以绑定的事件就可以生效。...,而是绑定在已经存在于页面上的父元素,冒泡到父元素上时,执行绑定在父元素上的事件处理函数,这样能减少很多不必要的工作。...还有 JQuery中的事件委托 又是怎么做的呢? 看这里 简单说 JavaScript中的事件委托(下)

    1.1K20

    解决innerHtml 在Jquery上使用无效果的问题

    ").innerHTML = "加载本页耗时 "+ (new Date().getTime()-t1) +" 毫秒"; 或 使用Jquery的方式: $("#timeShow").html('加载本页耗时...' + loadTime + 'ms'); innerHTML在JQuery中使用的话是无效果的, JQuery提供了三种方法实现指定标签赋内容:.html(),.val(),.text()。...三种方法区别具体: .html()用为读取和修改元素的HTML标签 对应js中的innerHTML .html()是用来读取元素的HTML内容(包括其Html标签), .html()方法使用在多个元素上时...对应js中的innerText text()用来读取元素的纯文本内容,包括其后代元素;.text()方法不能使用在表单元素上 .val()用来读取或修改表单元素的value值 .val()是用来读取表单元素的..."value"值,.val()只能使用在表单元素上 关于三者的区别 .val()方法和.html()相同,如果其应用在多个元素上时,只能读取第一个表单元素的"value"值,但是.text()和他们不一样

    1.6K10

    使用jQuery.data()查看元素上绑定的事件

    最近遇到一个诡异的问题,发现我添加在一个HTMLElement片段上面的事件绑定,会在后续的流程中,无故丢失了。但是,我不知道它是什么时候丢失的。 所以我需要要一步步逼近定位到问题。...最先想到的是浏览器面板上面的,可以选中元素,看元素上面的事件绑定。 但浏览器上面看到的是结果量,也就是看到的是已经丢失了事件的元素,但我还是不知道什么时候丢失的。...还好,我们都是用的jQuery,用的$.on()。 而jQuery自身事件绑定,额外添加了一层事件数组。...: 获取HTMElement元素上面的事件绑定 JavaScript $(HTMLElement).data('events') 1 $(HTMLElement).data('events') 然后...jQuery.data(‘events’)

    2.8K00

    jQuery 对AMD的支持(Require.js中如何使用jQuery)

    AMD 模块 AMD(异步模块定义,Asynchronous Module Definition)格式总体的目标是为现在的开发者提供一个可用的模块化 JavaScript 的解决方案。...可以看看jQuery 1.7 中的源码: // Expose jQuery as an AMD module, but only for AMD loaders that // understand the...() { return jQuery; } ); } 其工作的原理是,所使用的脚本加载器通过指定一个属性,即 define.amd.jQuery 为 true,来标明自己可以支持多个 jQuery 版本...如果有兴趣了解特定的实现细节的话,我们可以将 jQuery 注册为一个具名模块,因为可能会有这样的风险,即它可能被与其它使用了 AMD 的 define() 方法的文件拼合在一起,而没有使用一个合适的、...); }); Require.js中使用jQuery 插件 虽然jQuery的支持AMD的API, 这并不意味着jQuery插件也是和AMD兼容的。

    5K40

    JavaScript中的Promise使用详解

    熟悉前端开发的都一定写过回调方法(callback),简单的说,回调方法是一个函数被作为参数传递给另一个函数,比如下面的代码 function say (value) { alert(value...,一般就一到两级,但是某些情况下,回调嵌套很多时,代码就会非常繁琐,会给我们的编程带来很多的麻烦,这种情况俗称——地狱回调。...那么如何解决地狱回调,保持我们的代码简短,这时Promise就出场了,Promise对象可以理解为一次执行的异步操作,使用Promise对象之后可以使用一种链式调用的方式来组织代码;让代码更加的直观。...Resolve函数的作用是,将Promise对象的状态从“未完成”变为“成功”(即从 pending 变为 resolved),在异步操作成功时调用,并将异步操作的结果,作为参数传递出去; Reject...函数的作用是,将Promise对象的状态从“未完成”变为“失败”(即从 pending 变为 rejected),在异步操作失败时调用,并将异步操作报出的错误,作为参数传递出去。

    2K1513

    JavaScript 中 this 的使用技巧总结

    函数中执行 纯粹的函数调用 这是最普通的函数使用方法了: ?...可以看到直接用 this 仍然是 Window;因为 foo2 中的 this 是指向 obj,我们可以先用一个变量 _this 来储存,然后在回调函数中使用 _this,就可以指向当前的这个对象了;...箭头函数 在 ES6 的新规范中,加入了箭头函数,它和普通函数最不一样的一点就是 this 的指向了,还记得我们使用闭包来解决 this 的指向问题吗,如果用上了箭头函数就可以更完美的解决了: ?...this对象,就是定义时所在的对象,而不是使用时所在的对象。...call, apply, bind 在 js 中,函数也是对象,同样也有一些方法,这里我们介绍三个方法,他们可以更改函数中的 this 指向: call ?

    1.2K30

    使用AmplifyJS和JQuery编写更好更优雅的javascript事件处理代码

    事件(或消息)是一种经常使用的软件设计模式。可以减少消息处理者和消息公布者的之间的耦合,比方J2EE里面的JMS规范。设计模式中的观察者模式(也叫公布/订阅模式)。...这对于javascript代码相同适用。之前写的JQuery相关博客中。具体介绍了JQuery的事件处理机制和特性,具体可以參考这个文件夹下的文章。...JQuery事件处理事实上就是使用了公布/订阅模式,包含它提供的命名空间机制、自己定义事件都非常的棒,可是JQuery事件处理有一个缺陷:JQuery事件都是和DOM元素相关的,可是非常多时候我们并不须要...仅仅希望使用事件的公布/订阅这样的机制。 代码1:假设某个DOM元素不存在。那么不能依靠它使用事件的公布和订阅。...,通过AmplifyJS的使用方式能够看到。

    1.1K30

    JQuery中Ajax功能的使用技巧二则

    最近在做工作室的网站,留言模块采用纯HTML+JQuery+ASHX对数据库进行无刷新操作。...2、点击 回复 链接弹出输入管理员回复的框,在里面输入回复的留言之后点击提交之后页面上不会显示新添加的留言回复(实际上已经写入到数据库)。 3、显示回复内容有点问题。...async默认的设置值为true,这种情况为异步方式,就是说当ajax发送请求后,在等待server端返回的这个过程中,前台会继续 执行ajax块后面的脚本,直到server端返回正确的结果才会去执行success...第一个和第二个问题的解决方式也很简单,研究了JQuery的AJAX部分就知道里面有一个参数cache,专门是用来设置本次和服务器进行的传输是否加载缓存。...来做AJAX真的很方便,在以后的项目运用中我会用到它很多地方,AJAX中很多参数确实值得去研究...

    1.6K30

    GitHub在其网站实现中移除对jQuery的使用

    Mislav说的大致意思就是: 他们终于完成了将jQuery从Github.com的前端代码中移除的工作,并用其他一些方式替代原先jQuery做的工作,比如: 用原生的querySelectorAll...从列出的这些替代方案来看,应该是使用了一些更加趋向于和W3C标准保持一致的技术方案,比如像querySelectAll, fetch等现代浏览器中的原生方法,以及像Web Component这样的趋势技术...其实,以我的观点,Github在重构中移除jQuery,这并不是为了否认jQuery的价值,认为jQuery“不行了”,而只是为了更加突出对标准的关注,时代总是在不断发展,更先进的理念和标准被创造出来,...对于jQuery,我们知道自从那个前端工具库开荒时代以来,jQuery从一大批开荒者中(Prototype、YUI、Dojo、Mootools...)脱颖而出,以优秀的浏览器兼容性、强大的功能、简洁的语法...jQuery也同时提供了兼容低版本浏览器和只支持现代浏览器的版本,我们可以按照项目的实际需要来选择使用。

    1.1K40

    JavaScript中splice方法的使用「建议收藏」

    JavaScript中splice方法的使用 splice的基本用法 删除操作 插入操作 替换操作 splice一次性删除多个元素 splice的基本用法 在JavaScript中,arrObject.splice...删除操作 let myArray=["html","css","javascript","jQuery"]; let myDel=myArray.splice(1,1); //从索引1开始删除1个元素...let myArray=["html","css","javascript","jQuery"]; let myDel=myArray.splice(1,0,'html5','css3'); //从索引...一次性删除多个元素 通过判断数组中的所有元素,删除满足特定条件的元素。...大部人想到的是使用循环语句,再配合splice方法。但此操作存在一个问题,在循环数组体内使用array.splice()方法删除一个元素后,会导致循环数组的下标发生改变,从而该方法无效。

    2.5K30

    JavaScript开发中关于Promise的使用详解

    回调地狱(Callback Hell)Promise的基本使用结束语前言做过前端开发的都知道,JavaScript是单线程语言,浏览器只分配给JS一个主线程,用来执行任务,但是每次一次只能执行一个任务,...而且在前端相关的面试的时候,面试官一般都会问到关于Promise相关的使用问题,甚至在笔试中也会出一些关于Promise和setTimeout的执行结果,这说明Promise的使用对于前端开发来说是非常重要的一个知识点...那么本篇博文就来分享一下关于Promise的使用相关的知识点。为什么要用Promise语法?...Promise对象其实表示是一个异步操作的最终成败,以及结果值,也就是一个代理值,是ES6中的一种异步回调解决方案。...Promise对象代理的值其实是未知的,状态是动态可变的,因此Promise对象的状态有三种:进行中、结束、失败,它运行的时候,只能从进行中到失败,或者是从进行中到成功。

    73271

    使用 Proxy 来监测 Javascript 中的类

    Proxy API 允许我们在对象和其消费实体中创建中间层,这种特性为我们提供了控制该对象的能力,比如可以决定怎样去进行它的 get 和 set,甚至可以自定义当访问这个对象上不存在的属性的时候我们可以做些什么...使用 Proxy 来调试 为了在实践中展示 Proxy 的能力,我创建了一个简单的监测库,用来监测给定的对象或类,监测项如下: 函数执行时间 函数的调用者或属性的访问者 统计每个函数或属性的被访问次数。...在 React 中使用 proxyTrack 因为 React 的组件实际上也是类,所以你可以通过 proxyTrack 来实时监控它。...因为我们希望拦截这个类上不属于原型上的属性,所以我们给这个类的原型创建了个代理,并且创建了个构造函数拦截器。...别忘了,即使你在原型上定义了一个属性,但如果你再给这个对象赋值一个同名属性,JavaScript 将会创建一个这个属性的本地副本,所以赋值的改动并不会改变这个类其他实例的行为。

    1.3K20
    领券